sql >> Database teknologi >  >> RDS >> Oracle

Kan ikke finde procedure i DBA_PROCEDURES-visning

BEMÆRK Se venligst afsnittet OPDATERING for korrekt svar.

Procedurenavnet må ikke være med små bogstaver i visningen DBA_PROCEDURES. Brug store bogstaver, eller brug STORE-funktionen.

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

OPDATERING

Det eneste tilfælde, hvor du kan have navnet med små bogstaver, er, hvis du omslutter det i dobbelte anførselstegn, mens du kompilerer.

For eksempel,

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>

Men ovenstående visning vil stadig ikke returnere noget resultat for PROCEDURE_NAME .

Årsag

PROCEDURE_NAME kolonne vil kun have procedurenavnet for de procedurer, der er en del af en PAKKE . Til STÅENDE PROCEDURER du skal bruge 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>

Så, som du kan se, procedure_name har kun package's procedure , dog stand-alone procedure er kun angivet under object_name .



  1. DB Design giver brugeren mulighed for at definere produkter, produktspecifikationer og lade sig selv indsætte ordrer

  2. Få det aktuelle login-id i SQL Server (T-SQL)

  3. Summen af ​​minutter mellem flere datointervaller

  4. Efterfølger, hvordan man strukturerer chat-delen af ​​appen?