Pau*_*tos 10 oracle stored-procedures
我搜索了网络,我发现了一个帖子,它使用以下代码片段来检查存储过程是否存在:
select *
from USER_SOURCE
where type='PROCEDURE'
and name='my_stored_procedure.'
Run Code Online (Sandbox Code Playgroud)
有没有其他方法来检查程序是否存在?
编辑添加:
在发布SQL Server方式之前,我正在寻找ORACLE方式.
Cha*_*ndu 34
备择方案:
USER_PROCEDURES:
SELECT *
FROM USER_PROCEDURES
WHERE object_name = 'MY_STORED_PROCEDURE'
Run Code Online (Sandbox Code Playgroud)
USER_OBJECTS:
SELECT *
FROM USER_OBJECTS
WHERE object_type = 'PROCEDURE'
AND object_name = 'MY_STORED_PROCEDURE'
Run Code Online (Sandbox Code Playgroud)
对我有用的东西!
SELECT text
FROM all_source
WHERE name = 'MY_SP_NAME'
ORDER BY line;
Run Code Online (Sandbox Code Playgroud)
或者你可以尝试这样调用SP:
CALL MY_SP_NAME();
Run Code Online (Sandbox Code Playgroud)
您最终可能会出现这样的错误,但这确认您在那里定义了SP:
OCI Statement Execution failure.ORA-06553: PLS-306: wrong number or types of arguments in call to 'MY_SP_NAME'
Run Code Online (Sandbox Code Playgroud)