본문 바로가기
반응형

oracle9

[Oracle] EXTRACT 함수 관련 Oracle 에서 EXTRACT 라는 함수가 존재한다. 날짜 정보를 분리해서 각각 새로운 형태로 추출을 해주는 함수이다. 설명으로 들어서는 이해가 잘 안갈수도 있으니 직접 예시를 보여주면 ​ 테이블에 날짜 변수가 담긴 X로부터 특정한 날짜요소를 추출하여 새로운 컬럼으로 반환하는 SQL 쿼리 문장의 형태는 다음과 같다. SELECT EXTRACT ('Option' FROM X) as DATE_OPTION FROM TABLE; '날짜요소'에 투입하는 항목에 따라, 날짜 데이터로부터 얻을 수 있는 값이 달라지게 됩니다. Option 에 존재하는 날짜 요소는 아래와 같다. SQL 쿼리에서의 날짜요소 표시 날짜 정보 YEAR 연도 MONTH 월 DAY 일 HOUR 시 MINUTE 분 SECOND 초 즉 아래 쿼리.. 2024. 1. 30.
[Oracle] SQL*Developer 실행계획 확인하기 오라클에서 무료 제공해주는 DB툴인 SQL*Developer 에서 execute plan 실행계획 확인하는 방법에 대해서 다룰것이다. 다운로드는 오라클 공식 홈페이지에서 받을수 있다. https://www.oracle.com/database/sqldeveloper/technologies/download/ Oracle SQL Developer Downloads This archive. will work on a 32 or 64 bit Windows OS. The bit level of the JDK you install will determine if it runs as a 32 or 64 bit application. This download does not include the required Orac.. 2023. 12. 3.
[Oracle] savepoint 데이터베이스를 공부하다보면 Commit, Rollback 이랑 함께 나오는 단어가 있는데 savepoint이다. 게임에서 시점을 저장하는것과 비슷한 개념으로 생각하면 된다. 간단하게 예제로 바로 알아보면 이해가 갈것이다. 1. Insert into table values ('1'); 2. SAVEPOINT save1; 3. Insert into table values ('2'); 4. SAVEPOINT save2; 5. Delete from table; 6. Rollback to save1; 흐름대로 보면 1번 1 을 넣는다. 2번 save1이라는 이름으로 저장한다. 3번 2를 넣는다. 4번 save2라는 이름으로 저장한다. 5번 모든 데이터를 삭제한다. 6번 save1지점으로 돌아간다. 이렇게 되면 결.. 2023. 11. 11.
[Docker] Oracle (19.3 C) 이번 포스팅에서는 Oracle을 사용하기 위한 docker 를 만드는 포스팅을 하려고 한다. 우선 기본적인 도커에 대한 준비는 아래 참고 포스팅을 참고해서 셋팅이 되어있어야한다. 실행 환경은 다음과 같다. - Mac - Oracle 19c - Docker - Git bash 설치 및 build docker file 만들기 위한 스크립트가 있는 git project 받아오기 git clone https://github.com/oracle/docker-images 를 통해서 프로젝트를 개인이 지정할 경로로 받아온다. 오라클 db 설치 파일을 받아온다. https://www.oracle.com/database/technologies/oracle-database-software-downloads.html 에서 .. 2023. 11. 10.
[Oracle] NTILE 함수 특정 컬럼을 기준으로 그룹을 묶을때 사용한다. 사용법은 아래와 같다. SELECT NTILE([그룹으로 나눌 정수]) OVER (PARTITION BY [컬럼1] ORDER BY [컬럼2]) ID DATE 1 2023-01-01 2 2023-01-09 3 2023-01-03 4 2023-01-31 이런 테이블이 있다고 하고 SELECT ID, DATE, NTILE(2) OVER (DATE ORDER BY DESC) AS NTILE FROM TABLE; 이렇게 해주면 date를 내림차순 하여 2개 그룹으로 묶어준다. 결과는 아래와 같다. ID DATE NTILE 1 2023-01-01 1 3 2023-01-03 1 2 2023-01-09 2 4 2023-01-31 2 특정 값을 가지고 n개 만큼 그룹을 만.. 2023. 10. 28.
[Oracle] ORA-00001: unique constraint () violated ERROR ORA-00001: unique constraint () violated . 무결성제약조건 에러 ORA-00001 은 무결성 제약 조건 에러이다. 즉 PK, FK, Index Key, Unique Key 등 테이블에 중복이 있어선 안될 값이 들어가려고 할때 발생하는 에러이다. 값을 변경해주거나 다른 값을 insert 함으로써 해결 가능하다. 2023. 2. 17.
[Oracle] Decode 함수 Procedure 같은 곳을 보거나 일반적인 select 시에 if else나 case 함수를 사용해도 되지만 가볍게 분기를 하는 조건으로 oracle 에서 지원하는 함수인 Decode 함수가 있다. 사용법은 다음과 같다. select gender, decode(gender, "M", "남자", "W", "여자", "기타") from table; DECODE(컬럼, 조건1, 결과1, 조건2, 결과2, 조건3, 결과3.........., else) 이런식으로 조건, 결과 순서로 작성해주고 맨 앞은 컬럼명을 쓴다. 짝이 안맞게 맨 뒤에 하나의 파라미터가 더 있다면 해당 파라미터는 자동으로 else 에 대한 결과를 내뱉게 된다. 실전 테이블에서 활용 예제는 다음과 같다. 2022. 11. 18.
cx_Oracle 이란? 파이선에서 oracle을 사용하기 위한 방법중 하나는 cx-oracle library를 사용하는 것이다. 일단 python에서 라이브러리를 사용하기 위해서는 pypi.org 사이트에 접속하여 cx-oracle 을 접속하여 tar나 whl 파일을 설치한다. 다음 코드에서 사용은 다음과 같다. import cx_Oracle as oci userid = 'id' passwd = 'passwd' host = 'ip:port/SID명' conn = oci.connect(userid, passwd, host, encoding='UTF-8') cur = conn.cursor() 그리고 insert 와 select 에 대한 쿼리는 아래와 같다. #insert list =[ (1,2,3), (4,5,6), (7,8,9).. 2022. 11. 12.
[Oracle]특정 컬럼명을 가진 테이블을 찾을때 어떤 컬럼을 조인하고 있는 테이블을 찾고 싶거나, 컬럼명만 알고 테이블 이름을 모를때 사용하는 쿼리이다. SELECT TABLE_NAME, COLUMN_NAME FROM ALL_TAB_COLUMNS WHERE 1=1 AND COLUMN_NAME = 'table_name' AND COLUMN_NAME LIKE '%ble_n%' 참고로 전체 테이블을 확인하는 쿼리는 다음과 같다. select * from all_tables; 2022. 7. 27.
반응형