반응형 Database59 ORACLE MERGE 조건에 따라 INSERT, UPDATE ORACLE MERGE 조건에 따라 INSERT, UPDATE 특정 조건의 데이터에 따라 ROW를 INSERT하거나 UPDATE 해야할 때 MERGE를 사용합니다. 예를 들어 테이블에 어떤 값이 존재할 경우에는 UPDATE를 존재하지 않을 경우에는 INSERT를 해야 된다고 할 때 MERGE를 사용하지 않는다면 값을 확인하는 쿼리를 따로 사용했어야 했죠. 하지만 MERGE를 사용하면 하나의 쿼리로 위의 데이터 처리가 가능합니다. - 사용방법 MERGE INTO TABLE_NAME USING TABLE/VIEW/SUBQUERY/DUAL ON CONDITION WHEN MATCHED THEN UPDATE문 WHEN NOT MATCHED THEN INSERT문 예) MERGE INTO RECORD_INFO U.. Database/SQL 2015. 8. 19. 오라클 두 테이블의 컬럼에서 같은 값 확인 ORACLE DECODE 활용 오라클 두 테이블의 컬럼에서 같은 값 확인 ORACLE DECODE 활용 두 테이블의 컬럼에서 같은 값이 있는지 확인하기 위해서는 OUTER조인과 DECODE를 활용한다. 예를 들어 A테이블의 B컬럼과 C테이블의 D컬럼에서 같은 값이 있는지 확인하고 싶다고 하자. TABLE A = B{ 1, 2, 4, 6, 7 } TABLE C = D{ 1, 3, 6, 7 } 테이블이 위와 같다면 1, 6, 7 값이 중복되는 것을 확인할 수 있다. 그럼 쿼리를 사용해 값을 확인해보자. SELECT A1.B , C1.D FROM A A1 LEFT JOIN C C1 ON(C1.D = A1.B) 위의 쿼리의 결과는 아래와 같다. B D ----------------- 1 1 2 (NULL) 4 (NULL) 6 6 7 7 LE.. Database/SQL 2015. 8. 5. MySQL 문자열 합치기, 문자열 결합 CONCAT 이번 포스팅에서는 MySQL에서 문자열을 결합 하는 방법에 대해서 알아보도록 하겠습니다. MySQL에서 문자열을 합칠 때는 CONCAT 함수를 사용하는데요. 사용법은 아래와 같습니다. CONCAT(문자열1, 문자열2, 문자열3, ...) 예를 들면 아래와 같습니다. 문자열 대신 컬럼을 넣어도 적용되니 활용해 보도록 합시다. Link : 게시판에서의 CONCAT 사용 예제(준비중) Database/SQL 2014. 6. 24. MySQL 바이너리 로그를 활용한 DB 복구 방법 in Windows MySQL 바이너리 로그를 활용한 DB 복구 방법 in Windows 이번 포스팅에서는 윈도우 상에서 MySQL 의 바이너리 로그를 활용한 복구 방법에 대해서 알아보도록 하겠습니다. 바이너리 로그가 무엇이고 설정 방법은 아래의 Link를 참조하세요. Link : MySQL 바이너리 로그 설정 방법 in Windows, 바이너리 로그란? 바이너리 로그를 활용해 DB를 복구하기 위해서는 바이너리 로그를 sql 파일로 변환 해 주어야 합니다. 변환 하기 위해서는 MySQL 의 mysqlbinlog를 활용합니다. 그 전에 생성된 바이너리 코드를 아래의 경로로 이동합니다. C:\Program Files\MySQL\MySQL Server 5.1\bin window키 + r 을 눌러 실행창을 연 후 'cmd' 를 입.. Database/SQL 2014. 6. 12. MySQL 바이너리 로그 설정 방법 in Windows, 바이너리 로그란? 이번 포스팅에서는 윈도우 상에서 MySQL 의 바이너리 로그를 쌓도록 설정하는 방법에 대해서 알아 보도록 하겠습니다. 바이너리 로그란? DB 상에서 업데이트가 되는 모든 쿼리를 저장하는 로그를 말합니다. 모든 업데이트 쿼리를 저장하기 때문에 주기적으로 지워주지 않으면 파일의 용량이 엄청나게 늘어날 수 있으니 주의 하세요. 이렇게 때문에 MySQL의 초기 설정이 No로 되어 있는것 같습니다. 그럼 본론으로 들어가도록 하죠. MySQL이 설치된 폴더로 이동합니다. 저같은 경우 아래의 주소에 설치되어 있네요. C:\Program Files\MySQL\MySQL Server 5.1 해당 폴더로 이동하게 되면 my.ini 라는 파일이 있습니다. MySQL의 설정 파일인데요. 메모장으로 열어주세요. 열어보면 뭐라뭐.. Database/SQL 2014. 6. 12. MySQL 배치파일 백업 및 복구 방법, mysqldump 백업 in Windows MySQL 배치파일 백업 및 복구 방법, mysqldump 백업 in Windows 이번 포스팅에서는 MySQL의 배치파일을 만들어 백업하고 복구하는 방법에 대해서 알아보도록 하겠습니다. 데이터베이스의 백업 및 복구는 필수이니 정확히 알고 있기로 하죠. 예를 들기 위해 test 라는 DB 에 test_table 이라는 테이블을 만들어 놓았습니다. 이제 DB와 TABLE을 백업하기 위해 배치파일을 만들어 보도록 하죠. 메모장을 엽니다. 아래와 같이 작성후 BACKUP_DB.bat 파일로 저장을 하시면 됩니다. ::[BACKUP_DB.bat] ::콘솔 입력에 대한 화면 표시 끔 @ECHO OFF ::디렉토리 경로가 존재 하지 않을 경우 새 디렉토리 생성 IF NOT EXIST %4 (md %4) ::LOCA.. Database/SQL 2014. 6. 3. Oracle 오라클 중복 데이터 제거, ROWID Oracle 오라클 중복 데이터 제거, ROWID 이번 포스팅에서는 중복된 데이터가 있을때 하나의 데이터만 남기고 삭제하는 방법에 대해서 포스팅 하겠습니다. (중복된 데이터를 찾는 법은 아래의 Link를 참조하세요.) Link : Oracle 중복 데이터 찾는 방법 중복 데이터가 존재할 때 하나의 값만 남기고 삭제하기 위해선 오라클 함수인 ROWID 를 사용하여 각 행에 ID 값을 SELECT 한 후 ID값이 MAX 인값만 남기고 나머지를 삭제 하면 됩니다. (ROWID : 테이블에 있는 해당 로우를 찾기위해 오라클 DB내에서 사용되는 논리적인 정보, 컬럼이 unique 하지 않을때 유일 성을 부여할 수 있다.) Link 와 같은 테이블을 사용해 예를 들어보겠습니다. 대한민국 행정동 코드가 있을 때 '동.. Database/SQL 2014. 5. 9. Oracle 오라클 중복 데이터 찾는 방법 Oracle 오라클 중복 데이터 찾는 방법 이번 포스팅에서는 중복된 데이터를 찾는 방법에 대해서 알아보도록 하겠습니다. 보통 실무에서 시스템이 없는 고객이 관리하고 있는 데이터는 엑셀이나 기타 스프레드시트로 관리하는 경우가 많습니다. 이렇게 관리된 데이터는 중복이나 Null 값이 존재할 수 밖에 없기 때문에 데이터베이스 설계 시 데이터의 무결성을 유지하기 위해 유니크(Unique) 하고 Null 값을 포함하지 않는 Key 값을 설정해야 합니다. (모든 데이터가 중복이 있다면 일련번호 같은 Key를 설정해야겠죠.) 이럴 때! 중복된 데이터를 찾는 방법이 아주 유용하게 사용됩니다. 그럼 실제로 중복된 데이터를 추출해보도록 하죠. CM_KIK_B라는 테이블이 있습니다. 대한민국 법정동코드가 들어있는 테이블인데.. Database/SQL 2014. 5. 8. Oracle 오라클 대소문자 구분없이 검색하기, UPPER, LOWER 사용법 Oracle 오라클 대소문자 구분없이 검색하기, UPPER, LOWER 사용법 이번 포스팅에서는 오라클에서 대소문자 구분없이 검색하는 방법에 대해서 알아보도록 하겠습니다. 오라클에서는 대소문자를 구분하기 때문에 대소문자를 구분하지 않으면 정확한 값이 검색되지 않습니다. 그래서 보통 실무에서는 등록 시에 대문자나 소문자로 변환하여 저장하거나 조회 시 저장된 값과 검색하는 값을 똑같은 형태로 맞춰주죠. 대문자나 소문자로 변환 하는 오라클 함수는 UPPER() 와 LOWER() 입니다. 그럼 본론으로 들어가서 아래와 같은 데이터가 있다고 합시다. CM_COT_CD 테이블에 CODE_TYPE 이 'UL_TEST' 인 것의 CODE_NAME을 보면 대문자와 소문자가 막무가네로 들어가 있죠. 만약 저 4개의 값을 .. Database/SQL 2014. 4. 30. Oracle 오라클 원하는 갯수만큼 조회하기 Oracle, Mssql, Mysql, DB2 Oracle 오라클 원하는 갯수만큼 조회하기 Oracle, Mssql, Mysql, DB2 이번 포스팅에서는 원하는 갯수만큼만 조회하는 방법에 대해 알아보겠습니다. 보통 페이징 처리시에 많이 사용되며 기타 응용 범위도 넓습니다. [ORACLE] SELECT * FROM TABLE명 WHERE ROWNUM Database/SQL 2014. 4. 30. Oracle 오라클 데이터 복제 방법, 카테시안 조인 Oracle 오라클 데이터 복제 방법, 카테시안 조인 이번 포스팅에서는 원하는 만큼 데이터를 복사해 SELECT 하는 방법에 대해서 포스팅 하겠습니다. 데이터의 복제는 카테시안 조인을 사용하여 간단히 할 수 있습니다. 카테시안 조인은 조인 조건이 없거나 누락되는 조인을 말하며, 조인된 두 테이블의 행의 곱만큼 출력합니다. 예) A테이블에 3개행, B테이블에 4개행이 존재한다면. SELECT * FROM A, B 결과는 12개(3x4). 그럼 본론으로 들어가 데이터를 복제하는 방법을 보도록 하죠. 테이블 생성은 하지않고 서브쿼리를 사용하겠습니다. (서브쿼리에 대한 설명은 Link를 참조하세요.) Link : Subquery 서브쿼리사용법, ALL, ANY, IN, EXISTS 위에서도 말했듯이 카테시안 조.. Database/SQL 2014. 4. 23. Null 처리 방법(oracle, mssql, mysql), 데이터베이스 NULL처리 방법 Null 처리 방법(oracle, mssql, mysql), 데이터베이스 NULL처리 방법 [Null 의 개념] 데이터 모델링에서의 Null 이란 알 수 없는 값(Unkown)을 의미한다. 기타 여러 프로그래밍 언어에서도 Null 이란 개념은 존재하지만 데이터베이스에서만큼 중요하진 않다. 예를 들어 미혼인 사람의 결혼기념일은 알수 없으므로(Unkown) Null에 해당된다. 그럼 Null이 발생하는 경우에 대해서 알아보자. [Null 이 발생하는 경우] 1. Null 값이 허용된 컬럼에 값이 없을 경우. 2. Null 값과 산술연산을 할 경우. (1+Null = Null) 3. Left, Right 조인 시 매칭 값이 없을 경우. 4. 서브쿼리의 값이 없을 경우. 등이다. 이런 경우 Null 처리를 해주.. Database/기초 2014. 4. 16. Oracle 오라클 설치 후 TNS, 리스너 설정 및 SQL Gate 활용 접속확인 Oracle 오라클 설치 후 TNS, 리스너 설정 및 SQL Gate 활용 접속확인 이제 오라클 설치 후 TNS와 리스너를 설정하는 방법을 알아보도록 하겠습니다. 오라클 설정을 정상적으로 완료 하였다면 다음의 경로에 TNS와 리스너 파일이 존재합니다. C:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN (오라클 설치시 설정된 경로) 해당 경로로 이동을 하면 listener.ora 와 tnsnames.ora 파일이 있습니다. listener.ora 파일 부터 열어보도록 하죠. ============================================== listener.ora start ==================================.. Database/기초 2014. 2. 6. Oracl 오라클 설치방법 Oracl 오라클 설치방법 이번에는 서버에 오라클을 설치 하는 방법에 대해 포스팅 해보겠습니다. 우선 오라클 사이트에 접속합니다. http://www.oracle.com/ 접속을 후 Sign In/Register 를 클릭합니다. 로그인 창이 나타나면 로그인 합니다. 계정이 없을 경우 가입합니다. 로그인 후 Top Menu에서 Downloads -> Oracle Database 로 이동합니다. 'Accept License Agreement' 를 클릭한 후 자신의 OS 에 맞는 버전을 선택해 다운로드 합니다. File1 과 File2 를 모두 받으셔야 합니다. (저는 11g 를 받도록 하겠습니다.) 받은 파일의 압축을 풉니다. 2번째 파일(아래 이미지의 경로) 로 이동하여 4개의 폴더를 잘라내기 한 후.. .. Database/기초 2014. 2. 6. Oracle 오라클 테이블, 컬럼 정보 출력하기 Oracle 오라클 테이블, 컬럼 정보 출력하기 DB 내 테이블명과 테이블 주석컬럼, 컬럼 주석을 출력하는 방법입니다. 오라클 내에서 제공하는 USER_COL_COMMENTS와 USER_TAB_COMMENTS를 사용합니다. 컬럼주석에 '주민번호', 'RRN_NO'가 들어간 테이블과 컬럼명을 출력하는 SQL문 입니다. [방법] -- 컬럼주석으로 찾는 방법 SELECT T1.TABLE_NAME AS 테이블명 , T2.COMMENTS AS 테이블주석 , T1.COLUMN_NAME AS 컬럼명 , T1.COMMENTS AS 컬럼주석 FROM USER_COL_COMMENTS T1 LEFT JOIN USER_TAB_COMMENTS T2 ON (T2.TABLE_NAME = T1.TABLE_NAME) WHERE T1... Database/SQL 2013. 10. 1. 이전 1 2 3 4 다음 💲 추천 글 반응형