2010-11-08 103 views
4

我在Oracle SQL函数
创建或替换功能testfunc .....搜索SQL函数

成功地进行编译。当我验证all_procedures系统表时,它不在那里。 select * from all_procedures where procedure_name like'%testfunc%';

不知道我是否在寻找正确的系统表

+0

如果您实际上想要将函数命名为'testfunc',您需要使用'create或replace function'testfunc“ - 尽管您可能不想... – 2010-11-08 04:23:36

回答

13

除非你使用双引号的标识强制区分大小写(你几乎肯定不希望做的事情),Oracle会永远商店标识在数据字典中大写。所以,你想在

SELECT * 
    FROM all_procedures 
WHERE procedure_name = 'TESTFUNC' 
+0

您是否在all_procedures视图中找到了您的过程?我无法找到它,当我创建...时:?奇怪..它显示我只是包装规格和包装机构...请告诉我你找到或没有?谢谢 – kupa 2010-11-10 05:30:03

2

日志为系统或SYS作为SYSDBA,查询:

SELECT * 
FROM dba_objects 
WHERE object_name LIKE '%TESTFUNC%' 
AND object_type='FUNCTION'; 

身份登录的用户和查询:

SELECT * 
FROM all_objects 
WHERE object_name LIKE '%TESTFUNC%'