본문 바로가기
반응형

DataBase18

[Oracle] 오라클 "ORA-01756: 단일 인용부를 지정해 주십시오" 에러 해결 방법 / 스케줄러 ORA-01756: 단일 인용부를 지정해 주십시오 에러가 발생하는 경우 작은따옴표(') 가 빠진게 없는지 확인하면 됩니다.SELECT * FROM EMP WHERE EMP_NO IN ('4800','7841','4314','1343')SELECT * FROM EMP WHERE EMP_NO IN ('4800','7841','4314',1343') // 작은따옴표 (') 빠짐 스케줄러 잡에서 ORA-01756 에러 발생 작성자는 스케줄러 잡에서 ORA-01756 에러가 발생하여 해결 방법을 추가로 공유합니다. 스케줄러 잡을 Describe Object 를 해보니 V_RESULT := ''; 부분에서 작은따옴표(')가 사용되어 job_action 을 닫는 것으로 인식되어 에러가 발생 했습니다.V_RESULT .. 2025. 9. 3.
[Oracle] 오라클 LISTAGG 사용 방법 및 예제 (정렬, 중복제거, 컬럼 합치기/이어 붙이기) 오라클에서 쿼리를 작성하다 보면 여러 행의 컬럼 값을 하나로 묶어서 표현해야 하는 경우 LISTAGG 함수를 사용합니다. - 합치기, 이어 붙이기 LISTAGG 함수는 여러 행의 값을 묶어서 표현하는 기능이므로 GROUP BY 또는 PARTITION BY 를 사용하여 그룹을 지정해야만 사용 가능합니다. LISTAGG의 기본 사용 방법은 다음과 같습니다.LISTAGG( [합치는 컬럼], [구분자] ) WITHIN GROUP(ORDER BY [정렬 기준 컬럼] ) LISTAGG 사용 예제1SELECT LISTAGG(ENAME, ',') WITHIN GROUP(ORDER BY ENAME) AS ENAME_LIST FROM EMP WHERE JOB IN ('MANAGER','CLERK') 위 예시처럼.. 2025. 8. 15.
[Oracle] 오라클 사용자 계정별 권한 조회 방법 및 개념 (시스템, 객체, ROLE) 오라클을 사용하면서 현재 접속한 사용자 계정별로 권한을 조회하는 방법을 알려 드리겠습니다.USER에 부여된 시스템 권한 조회SELECT USERNAME --현재 접속된 사용자 , PRIVILEGE --부여받은 시스템 권한 , ADMIN_OPTION -- 부여 받은 시스템 권한을 다른 사용자에게 부여 가능여부 FROM USER_SYS_PRIVS;권한설명SELECT ANY TABLE모든 유저의 테이블 조회 권한 (상위 유저의 테이블 조회 시 필요)CREATE ANY TABLE모든 유저의 테이블 생성 권한 (권한 부여 시 제외 추천)CREATE USER유저 생성 권한 (권한 부여 시 제외 추천) CREATE SESSION접속 권한 (권한 부여 시 제외 추천)CREATE TABLE테이블 생성.. 2025. 8. 15.
[Oracle] 오라클 프로시저, 함수, 패키지 내용으로 검색 방법 및 예제 (조건, 주석 키워드로 찾기) 직접 SQL을 개발한게 아니라면 뭐가 어떻게 동작하는건지 궁금할 때 패키지, 함수, 프로시저를 검색할 수 있는 방법을 알려드리겠습니다.SELECT T1.OBJECT_ID , T1.OBJECT_NAME , T1.OBJECT_TYPE , T2.TEXT FROM USER_OBJECTS T1 INNER JOIN USER_SOURCE T2 ON T1.OBJECT_NAME = T2.NAME WHERE T1.OBJECT_TYPE IN ('PROCEDURE', 'FUNCTION','PACKAGE') AND T2.TEXT LIKE '%테이블명, 주석, 컬럼(조건)%' -- 찾으려는 프로시저 또는 함수 내 문구 입력 테이블, 컬럼명으로 조회 시 대/소 문자 구분을 안하려면 UPPER 함수를.. 2025. 8. 14.
[Oracle] 오라클 조인 종류별 개념 및 상황별 활용 예시 (Oracle JOIN , ANSI JOIN) 오라클에서 사용되는 조인 종류를 예제와 같이 알려드리겠습니다. 오라클 조인 종류 (ANSI JOIN) 오라클에서 조인의 종류는 크게 4가지로 분류할 수 있습니다.이해하기 쉽게 집합의 벤 다이어그램의 형태로 표현을 했으니 머리속에서 구상하면서 방향을 잡을때 활용하시면 됩니다.위의 벤 다이어그램은 ANSI JOIN 을 사용하는 경우를 가정했습니다.Oracle JOIN 을 사용하는 경우 OUTER JOIN 에서 기능이 제한적입니다.OUTER JOIN을 사용하는 경우 가급적이면 ANSI JOIN을 사용해 쿼리를 작성하시기 바랍니다. ※ Oracle JOIN 에서 원하는 조건으로 OUTER JOIN 을 수행하려면 별도의 인라인 뷰를 만들어서 조인하거나 스칼라 서브쿼리 등의 방법을 사용해야 하기 때문에 인덱스를 사.. 2025. 8. 13.
[Oracle] 오라클 ORA-00920 "관계 연산자가 부적합합니다" 오류 원인 및 해결 방법 오라클을 사용하면서 쿼리를 작성하거나 웹 등에 적용할때 "ORA-00920: 관계 연산자가 부적합합니다." 라는 오류가 발생하는 경우 확인해야할 사항을 알려드립니다. ORA-00920 오류 원인 해당 오류는 WHERE 절의 관계연산자 =, , =, !=, , AND, OR 가 잘못되면 발생합니다. 보통은 정신없이 쿼리를 작성하다가 오타가 나거나 관계연산자를 누락하는 경우 발생합니다. 위의 예제처럼 SQL Tool 에서는 쉽게 파악 후 수정이 가능하지만 웹이나 프로그램에서 개발을 할때는 찾기 어려울 수 있습니다.동일한 쿼리를 SQL Tool 에서 먼저 돌려보시고 문제가 없다면 주석 처리 되었는지 확인해보시면 됩니다. 쿼리 가독성이 좋지 않아 쿼리가 복잡해지는 경우 찾기 어렵습니다. 2025. 8. 5.
반응형