Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Không thể tìm thấy quy trình trong chế độ xem DBA_PROCEDURES

LƯU Ý Vui lòng xem phần CẬP NHẬT để biết câu trả lời chính xác.

Tên thủ tục không được viết thường trong dạng xem DBA_PROCEDURES. Sử dụng chữ hoa hoặc áp dụng hàm UPPER.

SELECT *
  FROM SYS.DBA_PROCEDURES
 WHERE procedure_name ='GG';

CẬP NHẬT

Trường hợp duy nhất khi bạn có thể đặt tên bằng chữ thường là nếu bạn đặt nó trong dấu ngoặc kép khi biên dịch.

Ví dụ:

SQL> CREATE OR REPLACE
  2  PROCEDURE "p"
  3  AS
  4  BEGIN
  5    NULL;
  6  END;
  7  /

Procedure created.

SQL> SELECT object_name, procedure_name, object_type FROM user_procedures where procedure_name='p';

no rows selected

SQL>

Nhưng vẫn ở chế độ xem trên sẽ không trả lại bất kỳ kết quả nào cho PROCEDURE_NAME .

Lý do

PROCEDURE_NAME cột sẽ chỉ có tên thủ tục cho các thủ tục là một phần của PACKAGE . Đối với THỦ TỤC ALONE ĐỨNG bạn cần sử dụng OBJECT_NAME .

SQL> -- stand alone procedure in lower case
SQL> CREATE OR REPLACE
  2  PROCEDURE "p"
  3  AS
  4  BEGIN
  5    NULL;
  6  END;
  7  /

Procedure created.

SQL>
SQL>  -- package
SQL> CREATE OR REPLACE
  2  PACKAGE test_p
  3  IS
  4    PROCEDURE p;
  5  END test_p;
  6  /

Package created.

SQL>
SQL> -- package body with a procedure
SQL> CREATE OR REPLACE
  2  PACKAGE BODY test_p
  3  IS
  4  PROCEDURE p
  5  IS
  6  BEGIN
  7    NULL;
  8  END;
  9  END test_p;
 10  /

Package body created.

SQL>
SQL> SELECT object_name, procedure_name, object_type FROM user_procedures;

OBJECT_NAME     PROCEDURE_NAME  OBJECT_TYPE
--------------- --------------- ---------------
TEST_P          P               PACKAGE
p                               PROCEDURE
TEST_P                          PACKAGE

SQL>

Vì vậy, như bạn có thể thấy, procedure_name chỉ có package's procedure , tuy nhiên, stand-alone procedure chỉ được liệt kê trong object_name .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bảng tổng hợp có các giá trị không chính yếu

  2. TO_DATE của tôi dường như không hoạt động bình thường

  3. ORACLE SQL Phạm vi giờ

  4. Groovy Oracle được lưu trữ Proc - chỉ mục cột ẩn

  5. Oracle APEX - SQL - Tạo lịch sử tuần tự và tính toán số ngày giữa mỗi giai đoạn