오라클 SQL에서는 기본 숫자 체크 함수(ISNUMERIC)를 오랫동안 제공하지 않았기 때문에 다양한 숫자 체크 방법을 사용해 왔다. 그러나 오라클 12c R2 버전부터 VALIDATE_CONVERSION 함수가 제공되기 때문에 숫자 여부를 쉽게 체크할 수 있다. 그러나 이전 오라클 버전에서는 숫자를 체크하는 공식 함수가 없기 때문에 정규식 함수나 TRANSLATE 함수를 사용하여 숫자 여부를 체크하면 된다. 목차VALIDATE_CONVERSION 함수를 사용하여 숫자 체크 (오라클 12c R2 이상)REGEXP_INSTR 정규식 함수를 사용하여 숫자 체크 (오라클 10g 이상)TRANSLATE 함수를 사용하여 숫자 체크 (오라클 8i 이상)사용자 정의 함수 생성하여 숫자 체크 (IS_NUMBER) VA..
오라클 11g부터 PIVOT 기능을 제공합니다. 기존 이하버전에서는 DECODE 함수를 이용하여 로우를 컬럼으로 변경하는 작업을 하였습니다. PIVOT 기능을 이용하면 DECODE의 복잡하고 비직관적인 코드를 조금 더 직관적으로 작성할 수 있습니다. 아쉬운 접은 PIVOT 기능을 사용하더라도 PIVOT을 할 컬럼을 미리 정의를 해 놓아야 한다는 점이다. 상황에 맞게 PIVOT를 사용할지 DECODE를 사용할지 결정해서 사용하면 될꺼 같습니다. SELECT * FROM ( 피벗 대상 쿼리문 ) PIVOT ( 그룹합수(집계컬럼) FOR 피벗컬럼 IN (피벗컬럼값 AS 별칭 ... ) PIVOT 사용법 직군별, 월별 입사 건수 SELECT * FROM ( SELECT job , TO_CHAR(hiredate,..
PL/SQL(Procedure, Package)을 사용하다 보면 동적으로 쿼리(Query)를 생성하거나 텍스트(text) 쿼리를 입력 받아서 실행해야하는 경우가 있다. 다음 두가지 방법을 적절히 사용하면 좋은 결과를 얻을수 있다. EXECUTE IMMEDIATE : Inset, Update, Delete 구문을 실행하거나 Select 구문을 실행 시 INTO를 사용하여 단일 값을 리턴 받을 때 사용 OPEN-FOR : Select 구문을 실행 시 Cursor를 리턴 받을 때 사용 주의 : 바인드 변수(:) 사용 시 쿼리 내부에서 변수명은 의미가 없고 변수 순서, 개수가 USING의 변수 순서, 개수와 일치해야 한다. 바인드 변수가 없다면 USING는 생략가능. 1. EXECUTE IMMEDIATE (IN..
오라클 Benthic Golden(골든) 엑셀(Excel) 파일 Insert 하기 (Data Import) - 골든(Golden)에서 기본으로 제공하는 툴(ImpExp)를 이용하여 대량의 데이트(엑셀파일 등)을 쉽게 Insert 할 수 있다.1) Insert 테이블의 컬럼 정보를 조회 후 컬럼에 맞는 엑셀 파일을 만든다. 2) 생성한 엑셀파일을 .CSV 형식으로 저장한다. 3) 상단 메뉴 Tools -> Data Import/Export 을 선택하여 툴(ImpExp)을 실행한다. 4) 날짜 형식을 CSV파일과 동일하게 맞춰준다. Import To Oracle 탭에서 Source File(.csv) 파일과 Destination Table을 선택하고 Start Import 버튼을 누르면 엑셀파일이 Inser..
오라클 Benthic Golden(골든) DBMS OUTPUT Window 사용하여 프로시저 로그출력 - 복잡한 프로시저를 실행 시 DBMS_OUTPUT를 삽입하여 값을 확인하거나 디버깅 시 Log를 확인 하는 용도로 사용할 수 있다. - 상단 메뉴 -> View -> DBMS OUTPUT Window를 실행 한다. 1) 프로시저 생성 - 값을 확인 할 위치에 DBMS_OUTPUT.put_line를 추가한다.2) 프로시저 실행- DBMS_OUTPUT Window를 활성화 시킨 후 프로시저를 실행 한다.
오라클 Benthic Golden(골든) 날짜 포맷 변경하기 - 날짜 포멧을 변경하면 조회결과 영역과 쿼리상의 날짜타입의 컬럼에 텍스트 값을 입력시 해당 포맷으로 캐시팅 된다. - 날짜 포맷은 상단메뉴 Tools -> Program Options -> General 에서 변경이 가능하다.- 포맷(YYYY-MM-DD, YYYY/MM/DD, YYYY-MM-DD HH24:MI:SS)
오라클 Benthic Golden(골든) 프로시저(Procedure) 실행하기 1) return cursor가 있는 패키지(package) , procedure(프로시저)를 생성한다2) 프리시저 실행 시 REFCURSOR 변수(var)를 하나 선언하여 실행하면 결과 값이 조회된다.
오라클 Benthic Golden(골든) 변수 사용하기 (Variable, define) - 쿼리내 인자 값을 변수(&)을 사용하여 정의해 놓으면 쿼리를 실행할 때 변수에 대한 값을 동적으로 입력할 수 있다. - 쿼리가 길고 수시로 변경해야 할 값이 많을 경우 변수로 지정해 놓으면 빠르게 값을 바꿔서 쿼리를 실행할 수 있다. - 변수를 사용할 경우 변수명 앞에 &를 붙여주어야 한다. - 입력창(prompt)에서 변수 값을 입력하지 않고 쿼리 상단에 미리 변수 값을 지정할 수 있다.- DEFINE 명령어 사용.
오라클 Benthic Golden(골든) Private Session 탭별로 서로 다른 세션 연결하기 (Private Session) - 골든을 사용해서 쿼리 작업을 하다보면 다른 DB계정이나 DB서버에 접속을 해야 하는 경우가 있다. 이럴때에는 골든을 하나 더 실행해서 사용을 한다. - Private Session (Ctrl+Alt+Shift+N)을 이용하면 탭별로 서로다운 계정이나 서버에 접속이 가능하다.
오라클 Benthic Golden(골든) 실행 결과 팝업 및 비교 (Scratch Results) 쿼리 실행결과 팝업 (Scratch Results) - 쿼리를 실행 후 단축키 (F11)을 누르면 그리드 영역에 조회된 데이터가 새로운 팝업으로 분리하여 보여준다. - 두 개의 쿼리 결과 내용을 비교할 때 유용하게 사용할 수 있다.