오라클
-
[Oracle] Date 24시간으로 비교하기programming/SQL 2020. 12. 23. 23:00
오라클에서 시간을 비교할 때, 단순히 부등호 만으로 비교할 수 있다. 예를 들어 아래와 같은 테이블이 있을 때, create TABLE DATE_TEST( SEQ NUMBER, TEXT VARCHAR2(100), REG_DT DATE, MOD_DT DATE ); INSERT INTO DATE_TEST VALUES(1, 'TEST1', TO_DATE('2020-12-23 11:00:00', 'yyyy-MM-dd HH24:MI:SS'), TO_DATE('2020-12-23 11:00:00', 'yyyy-MM-dd HH24:MI:SS')); INSERT INTO DATE_TEST VALUES(2, 'TEST2', TO_DATE('2020-12-23 12:00:00', 'yyyy-MM-dd HH24:MI:SS'..
-
[SQL] Oracle Merge Into 사용법programming/SQL 2020. 6. 4. 22:32
오라클에서 테이블에 데이터를 Insert 할 때, 또는 두 개의 테이블을 합칠 때, 이미 테이블에 데이터가 있으면 Update를, 테이블에 데이터가 없으면 Insert를, 하기 위해선 MERGE INTO를 사용할 수 있다. 예를 들어서 아래와 같은 테이블과 데이터들이 있을 때, 아래와 같이 MERGE INTO를 사용할 수 있다. 두 개의 테이블이 없고, 어떤 값들을 직접 비교할 때는 DUAL을 사용해서 데이터를 Insert 할 수 있다.
-
[ORACLE] 오라클 시퀀스 에러 CURRVAL, NEXTVALprogramming/SQL 2020. 4. 22. 21:24
오라클에 시퀀스를 사용할 때 NEXTVAL을 사용한다. CURRVAL은 거의 사용할 일이 없었는데, 어쩌다 보니 사용하게 되었다. 근데 이때 NEXTVAL이 에러가 나서 CURRVAL을 사용할 수 없었다. 에러는 "이 세션에서는 정의되어 있지 않다"라고 되어 있었다. 처음엔 시퀀스에 권한이 없어진 줄 알았는데, 같은 세션에 NEXTVAL을 실행시키지 못해서, CURRVAL을 실행시키지 못했다. NEXTVAL이 정상 작동되니까 CURRVAL도 문제없이 작동했다. 요약) NEXTVAL이 되어야 CURRVAL도 되는 것 같다. 정확한 근거는 좀 더 자세히 알아봐야겠다. 애초에 CURRVAL을 쓰는 이유가 잘못되었던 건지도 모르지만, 일단 해결했다.