>  기사  >  데이터 베이스  >  Oracle에서 저장 프로시저를 쿼리하는 방법

Oracle에서 저장 프로시저를 쿼리하는 방법

下次还敢
下次还敢원래의
2024-04-19 03:00:301003검색

Oracle 저장 프로시저를 쿼리하는 방법에는 세 가지가 있습니다. (1) SELECT를 사용하여 all_procedures 테이블을 쿼리합니다. (2) DBMS_METADATA 패키지의 GET_PROCEDURES 함수를 사용합니다. (3) all_dependent 테이블을 사용하여 저장 프로시저의 종속성을 쿼리합니다. .

Oracle에서 저장 프로시저를 쿼리하는 방법

Oracle 저장 프로시저를 쿼리하는 방법

직접 쿼리

저장 프로시저를 직접 쿼리하는 것이 해당 정보를 얻는 가장 빠른 방법입니다. 다음 쿼리를 사용하세요.

<code class="sql">SELECT *
FROM all_procedures
WHERE procedure_name = '<存储过程名称>';</code>

이렇게 하면 매개변수, 반환 유형, create 문을 포함하여 저장 프로시저의 메타데이터가 반환됩니다.

DBMS_METADATA 패키지 사용

DBMS_METADATA 패키지는 저장 프로시저 정보를 얻는 고급 방법을 제공합니다. 다음 쿼리를 사용하세요.

<code class="sql">DECLARE
  v_proc_name VARCHAR2(30) := '<存储过程名称>';  -- 替换为实际存储过程名称
BEGIN
  FOR record IN DBMS_METADATA.GET_PROCEDURES(
    ownname  => NULL,  -- 省略所有者名称以检索所有存储过程
    procname => v_proc_name,  -- 指定要检索的存储过程名称
    argnames => NULL,  -- 省略参数名称以检索所有参数
    argtypes => NULL  -- 省略参数类型以检索所有类型
  ) LOOP
    DBMS_OUTPUT.PUT_LINE('存储过程名称: ' || record.procedure_name);
    DBMS_OUTPUT.PUT_LINE('所有者: ' || record.owner);
    DBMS_OUTPUT.PUT_LINE('创建语句: ' || record.text);
  END LOOP;
END;</code>

쿼리 종속성

저장 프로시저의 종속성을 쿼리하려면 다음 쿼리를 사용할 수 있습니다.

<code class="sql">SELECT *
FROM all_dependencies
WHERE object_type = 'PROCEDURE'
  AND object_name = '<存储过程名称>';</code>

이렇게 하면 저장 프로시저가 의존하는 다른 개체가 포함된 목록이 반환됩니다. 테이블 또는 기타 저장 프로시저.

위 내용은 Oracle에서 저장 프로시저를 쿼리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.