Oracle 데이터베이스의 모든 저장 프로시저를 나열하려면 어떤 SQL을 사용해야 합니까?
Oracle 데이터베이스의 모든 저장 프로시저를 나열하려면 어떤 SQL을 사용해야 합니까?
가능하다면 두 가지 질문을 받고 싶습니다.
- 이름별로 모든 저장 프로시저 나열
- 이름이 지정된 저장 프로시저의 코드 나열
그DBA_OBJECTS
보기에는 절차(거의 다른 개체)가 나열됩니다.
SELECT owner, object_name
FROM dba_objects
WHERE object_type = 'PROCEDURE'
그DBA_SOURCE
view는 문제의 프로시저에 대한 소스 코드 행을 나열합니다.
SELECT line, text
FROM dba_source
WHERE owner = ?
AND name = ?
AND type = 'PROCEDURE'
ORDER BY line
참고: 권한에 따라 다음을 쿼리하지 못할 수도 있습니다.DBA_OBJECTS
그리고.DBA_SOURCE
보기. 이 경우, 사용할 수 있습니다.ALL_OBJECTS
그리고.ALL_SOURCE
대신.그DBA_
보기는 데이터베이스의 모든 개체를 포함하는 반면,ALL_
보기에는 액세스할 수 있는 개체만 포함됩니다.
여기 더 간단한 SQL이 있습니다.SELECT * FROM User_Procedures;
저장 프로시저(매개 변수 등)를 검사하기 위해 모든 호출을 수행하려면 다음 오픈 소스 패키지에서 해당 호출을 꺼낼 수 있습니다.
http://code.google.com/p/orapig
Oracle PIG는 Oracle Python Interface Generator입니다.오라클 패키지를 검사하고 이를 위한 파이썬 래퍼를 생성합니다.
DBA_OBJECTS에서 열거하는 것은 많은 절차를 생략했을 수 있습니다. (Oracle 12c에 있습니다. SYS로 로그인합니다.)
select count(*) from dba_objects where object_type = 'PROCEDURE';
202
전체 Oracle 데이터베이스가 202개의 절차만 가질 수 있다는 것은 정말 불가능해 보였습니다.
DBA_PROCEDURES에서 쿼리하는 중:
select owner||'-'||object_name || '-'||procedure_name from
dba_procedures WHERE PROCEDURE_NAME IS NOT NULL;
26539 rows selected.
이제 모든 데이터베이스에 대해 기본값으로 제공되는 SYS 스키마에 초점을 맞춥니다(내 데이터베이스에만 해당되지 않음).
익명 저장 프로시저 쿼리(http://www.praetoriate.com/t_high_perform_calling_procedures.htm) 가 SYS에 속함:
select owner||'-'||object_name || '-'||procedure_name from dba_procedures WHERE PROCEDURE_NAME IS NULL and owner = 'SYS';
994 rows selected.
또한 SYS의 익명 저장 프로시저에는 15K가 있습니다.
select owner||'-'||object_name || '-'||procedure_name from dba_procedures WHERE PROCEDURE_NAME IS NOT NULL and owner = 'SYS';
15408 rows
연결된 데이터베이스의 모든 저장 프로시저를 나열하려면 다음을 실행하기만 하면 됩니다.
select object_name from user_procedures;
언급URL : https://stackoverflow.com/questions/955927/what-sql-would-i-need-to-use-to-list-all-the-stored-procedures-on-an-oracle-data
'source' 카테고리의 다른 글
mongodb 3.4.3 Ubuntu 16에서 wired tiger_kv_engine.cpp 267 오류가 거부되었습니다. (0) | 2023.07.10 |
---|---|
mariadb 기억이 안정되는 데 얼마나 걸립니까? (0) | 2023.07.10 |
+=가 목록에서 예기치 않게 작동하는 이유는 무엇입니까? (0) | 2023.07.10 |
Wi-Fi를 통해 Android 응용 프로그램을 실행/설치/디버깅하시겠습니까? (0) | 2023.07.10 |
spring-boot-starter-web의 기본 JSON 오류 응답은 어디에서 왔으며 어떻게 조정합니까? (0) | 2023.07.10 |