找出PL/SQL过程的名称

icu*_*ric 18 oracle plsql

Oracle中的PL/SQL过程能否知道它自己的名字?

让我解释:

CREATE OR REPLACE procedure some_procedure is
    v_procedure_name varchar2(32);
begin
    v_procedure_name := %%something%%;
end;
Run Code Online (Sandbox Code Playgroud)

%%something%%执行,变量v_procedure_name应该包含"SOME_PROCEDURE".如果它包含object_id该过程也没关系,所以我可以查找名称all_objects.

cag*_*boy 33

尝试:

v_procedure_name := $$PLSQL_UNIT;
Run Code Online (Sandbox Code Playgroud)

如果您想知道您所在的行号,还有$$ PLSQL_LINE.

  • 仅返回独立过程和函数的过程名称,如果从打包过程调用它返回包名称. (6认同)