我有程序包,在很多地方使用,在某些地方我需要稍微不同的程序,例如更新一列.
我以为我可以创建一个额外的包,它将包含一些但不是所有的过程.
有没有办法if直接在脚本中检查一个语句,如果额外的包中没有程序,那么是否可以使用标准包?
Bob*_*ica 13
您应该能够从DBA_PROCEDURES视图获取此信息:
SELECT *
FROM SYS.DBA_PROCEDURES
WHERE OBJECT_TYPE = 'PACKAGE' AND
OBJECT_NAME = '<your package name>' AND
PROCEDURE_NAME = '<your procedure name>'
Run Code Online (Sandbox Code Playgroud)
如果这返回一行,则您感兴趣的过程存在于包中.如果您收到NO_DATA_FOUND异常,则表示程序包中不存在该过程.
分享和享受.