注 正解については、UPDATEセクションをご覧ください。
DBA_PROCEDURESビューでは、プロシージャー名を小文字にすることはできません。大文字を使用するか、大文字の機能を適用してください。
SELECT *
FROM SYS.DBA_PROCEDURES
WHERE procedure_name ='GG';
更新
名前を小文字にすることができるのは、コンパイル時に二重引用符で囲む場合のみです。
たとえば、
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>
ただし、上記のビューでは、 PROCEDURE_NAMEの結果は返されません。 。
理由
PROCEDURE_NAME 列には、パッケージの一部であるプロシージャのプロシージャ名のみが含まれます。 。 スタンドアロン手順の場合 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>
ご覧のとおり、procedure_name
package's procedure
のみがあります ただし、stand-alone procedure
object_name
の下にのみリストされています 。