느린 것을 걱정하지 말고, 멈춰서는 것을 걱정하라
article thumbnail
DBeaver 쿼리에 띄어쓰기(공백)가 있을때 오류가 나는 현상해결
IT/ORACLE 2024. 2. 4. 09:24

문제 아래와같이 Dbeaver편집기 상에서 띄어쓰기가 있을 경우 ORA-00900: SQL문이 부적합합니다. 라는 오류가 발생하는 현상이 있다. 문제 해결을 위해 Dbeaver의 Preferences > 편집기 > SQL 편집기 > SQL실행으로 들어간다. Blank line is statement delimiter가 체크되어있는 것을 체크해제하면 에러가 안난다.

article thumbnail
Oracle Join시 Join 메서드 선택 전략
IT/ORACLE 2023. 10. 9. 16:09

보통의 OLTP(Online Transaction Processing)성 프로세스의 경우, 소량의 데이터를 조회하여 데이터를 생성, 수정, 삭제하여 NL조인으로 충분하지만, 데이터가 많을 경우 소트머지 조인이나, 해시조인을 사용하라고 한다. 소트머지 조인의 경우 조인하려는 양쪽의 테이블을 조인컬럼을 기준으로 정렬 후, 조인하는 방식이고 해시조인의 경우 데이터의 양이 적은 테이블을 기준(데이터 양이 큰 테이블을 기준으로 만들수 있지만 지양한다.)으로 해시테이블을 만든 후 조인테이블이 해시테이블과 일치하는지 확인하는 작업을 하면서 조인한다. NL조인보다 위 두개 조인이 대용량 데이터 조인시 빠른 이유는 NL조인의 경우 인덱스에 기반한 랜덤액세스 방식의 조인이고, 모든 프로세스가 바라보고 있는, SGA영역에서..

ORACLE Squence 초기화 시키는 프로시저
IT/ORACLE 2022. 7. 14. 23:05

시퀀스를 0으로 초기화할 방법을 찾고있었느데, 아래의 방법밖에 없는듯 하다.. CREATE OR REPLACE PROCEDURE pr_reset_seq(seq_name IN VARCHAR2 ) IS seq_val NUMBER; BEGIN EXECUTE IMMEDIATE 'select [시퀀스명].nextval from dual' INTO seq_val; EXECUTE IMMEDIATE 'alter sequence [시퀀스명] increment by -' || seq_val || ' minvalue 0'; EXECUTE IMMEDIATE 'select [시퀀스명].nextval from dual' INTO seq_val; EXECUTE IMMEDIA..