모든 패키지에서 테이블 및/또는 열을 검색하기 위한 쿼리
패키지에 특정 테이블 및/또는 열이 사용되고 있는지 확인하기 위해 모든 패키지를 검색하기 위해 실행할 수 있는 쿼리가 있습니까?패키지가 너무 많아서 각각의 패키지를 열어 원하는 값을 찾을 수 없습니다.
다음과 같이 할 수 있습니다.
select *
from user_source
where upper(text) like upper('%SOMETEXT%');
또는 SQL Developer에는 이 작업을 수행하기 위한 보고서가 내장되어 있습니다.
View > Reports > Data Dictionary Reports > PLSQL > Search Source Code
USER_SOURCE용 11G 문서는 이쪽
뷰를 사용할 수 있습니다.*_DEPENDENCIES
예를 들어 다음과 같습니다.
SELECT owner, NAME
FROM dba_dependencies
WHERE referenced_owner = :table_owner
AND referenced_name = :table_name
AND TYPE IN ('PACKAGE', 'PACKAGE BODY')
경우에 따라서는, 찾고 있는 컬럼이, 관심이 없는 다른 많은 것의 이름의 일부일 수도 있습니다.
예를 들어 최근에 "BQR"이라는 칼럼을 찾았는데, "BQR_OWNER", "PROP_BQR" 등과 같은 다른 컬럼의 일부이기도 합니다.
그래서 워드프로세서가 '전체 워드만'이라고 표시해야 하는 체크박스를 붙이고 싶습니다.
유감스럽게도 LIKE에는 이러한 기능이 없지만 REGEXP_LIKE가 도움이 됩니다.
SELECT *
FROM user_source
WHERE regexp_like(text, '(\s|\.|,|^)bqr(\s|,|$)');
이 열을 찾고 이름의 일부로 "BQR"이 있는 다른 열을 제외하는 정규 표현식은 다음과 같습니다.
(\s|\.|,|^)bqr(\s|,|$)
정규 표현은 공백(\s), (|) 마침표(.), (|) 쉼표(,) 또는 (|) 줄 시작(^)에 이어 공백, 쉼표 또는 줄 끝($)과 일치합니다.
덧붙여서, 「UPER(bqr)」로 사용할 수 있기 때문에, 「」나 「」등의 문자를 추가할 필요가 있는 경우는, 이러한 옵션을 전후 문자 리스트에 추가할 수 있습니다.
(\s|\(|\.|,|^)bqr(\s|,|\)|$)
언급URL : https://stackoverflow.com/questions/4852993/query-to-search-all-packages-for-table-and-or-column
'programing' 카테고리의 다른 글
php.ini에서 DOM 확장자를 활성화하려면 어떻게 해야 합니까? (0) | 2023.03.25 |
---|---|
구조 분야의 자본 (0) | 2023.03.25 |
경고:텍스트 내용이 일치하지 않습니다.서버: "I'm out" 클라이언트: "I'm in" div (0) | 2023.03.25 |
현재 게시물의 WordPress Post ID 가져오기 (0) | 2023.03.25 |
MVC4 번들, 최소화 및 각도JS 서비스 (0) | 2023.03.25 |