我在oracle中有一个sql函数 创建或替换函数testfunc .....
成功编译。当我验证all_procedures系统表时,它不存在。 select_ from all_procedures其中procedure_name如'%testfunc%';
不确定我是否正在查看正确的系统表
答案 0 :(得分:13)
除非您使用双引号标识符来强制区分大小写(您几乎肯定不想这样做),否则Oracle将始终以大写形式将标识符存储在数据字典中。所以你想要
SELECT *
FROM all_procedures
WHERE procedure_name = 'TESTFUNC'
答案 1 :(得分:2)
以sysdba身份登录系统或sys并查询:
SELECT *
FROM dba_objects
WHERE object_name LIKE '%TESTFUNC%'
AND object_type='FUNCTION';
或
以您的用户身份登录并查询:
SELECT *
FROM all_objects
WHERE object_name LIKE '%TESTFUNC%'