본문 바로가기
반응형

SQL/Oracle91

오라클 최근에 수정한 함수, 프로시저 확인방법 USER_OBJECT 테이블을 조회하면 최근에 수정한 함수(Function), 프로시저(Procedure)를 확인할 수 있는데 SELECT * FROM USER_OBJECTS WHERE OBJECT_TYPE IN ('FUNCTION','PROCEDURE') ORDER BY LAST_DDL_TIME DESC 위 쿼리를 놓고 조회해주면 최근에 수정한 펑션, 프로시저 순으로 깔리게 된다 패키지도 확인해 보려면 IN 쪽에 'PACKAGE' 를 넣어주면 되고 중요한 내용만 확인하려면 함수명, 프로시저명에 해당하는 OBJECT_NAME 바꾼 시간에 해당하는 TIMESTAMP를 확인해주면 된다 2020. 11. 11.
오라클 프로시저 디버깅 권한 주는 방법 오라클에서 프로시저(Procedure) 디버깅을 하려고 하는데 디버그 시에는 디버그 권한이 필요하기 때문에 ORA-01031: 권한이 불충분합니다 이 세션에는 DEBUG CONNECT SESSION 및 DEBUG ANY PROCEDURE 사용자 권한이 필요합니다. 이런 에러가 뜨는 것이 보인다 디버그 권한은 sysdba 권한을 가지고 있는 계정으로 접속한 뒤 GRANT DEBUG CONNECT SESSION TO "계정명"; GRANT DEBUG ANY PROCEDURE TO "계정명"; 두 줄을 수행해주면 된다 SQL Plus에 sys as sysdba 계정으로 접속한 후 두 문장을 입력해서 권한을 부여한 경우인데 비밀번호 까먹었으면 아래 글을 참고하고 오라클 sys, 계정 비밀번호 분실 시 변경방법 .. 2020. 11. 9.
오라클 INTERSECT 예제 및 사용방법 오라클에서 INTERSECT는 두 SELECT문에서 겹치는 내용만을 가져올 때 사용하는데 사용방법은 두 조회 쿼리문 사이에 INTERSECT를 넣어주면 된다 위 예제에서는 DEPT 테이블에 10, 20, 30, 40, 50 EMP 테이블에 10, 20, 30이 들어있는데 10, 20, 30이 겹치기 때문에 INTERSECT 사용 시에는 위 내용들만 나오는 것이 보인다 2020. 10. 25.
오라클 MINUS 예제 및 사용방법 오라클에서 MINUS는 두 SELECT 문에서 중복되는 내용을 제외하고 가져올 때 사용하는데 사용방법은 두 SELECT 문을 작성하고 중간에 MINUS를 넣어주면 된다 여기서 위에 있는 조회문을 기준으로 MINUS를 수행하므로 그걸 기억해둬야 한다 위 예제에서 DEPT 테이블에는 10, 20, 30, 40, 50이 들어있고 EMP 테이블에는 10, 20, 30이 들어있기 때문에 MINUS를 사용해 보면 중복되지 않는 값인 40, 50만 나오는 것이 보인다 마지막으로 MINUS 사용 시에는 두 컬럼의 중복을 비교하는 것이기 때문에 반드시 SELECT 하는 컬럼을 동일하게 맞추고 수행해야 한다 2020. 10. 25.
오라클 Direct, TNS 접속방법별 차이 정리 DBeaver, TOAD와 같은 SQL Editor로 데이터베이스에 접속하는 방법은 Direct(Basic), TNS 두 방법이 있는데 처음에는 시키는대로 TNS를 사용해 접속하지만 어떻게 접속하던 차이는 없다 그냥 접속 방법이 다른 것이다 먼저 위의 화면은 Direct의 경우인데 내 DB의 ip 주소인 Host DB의 Service Name 혹은 SID를 입력하고 하단에 username과 password를 사용해서 접속하는 방식이다 여기서 집에서 혼자 사용할 경우에는 대부분 Host를 localhost로 입력해 사용하게 된다 다음은 TNS를 이용한 접속방식인데 DB 접속관련 정보를 담아둔 tnsnames.ora 파일을 불러오면 파일 안에 IP 주소부터 SID 혹은 Service Name이 들어있기 때문.. 2020. 8. 25.
오라클 중복 값 확인방법 오라클에서 GROUP BY를 사용해주면 같은 값들을 묶을 수 있는데 여기서 COUNT(*)를 사용해 주면 해당 값이 몇개 나왔는지 확인이 가능하다 즉 COUNT를 구한 후 서브쿼리를 이용해 COUNT가 1보다 큰 값들만 구해보면 중복된 값들만 나오게 된다는 거다 예제에 사용한 쿼리는 아래와 같다 SELECT JOB, JOB_COUNT FROM ( SELECT JOB, COUNT(*) AS JOB_COUNT FROM SCOTT.EMP GROUP BY JOB ) WHERE JOB_COUNT > 1 2020. 8. 22.

반응형