搜索sql函数
Posted
技术标签:
【中文标题】搜索sql函数【英文标题】:Search for sql function 【发布时间】:2010-11-08 03:40:55 【问题描述】:我在 oracle 中有一个 sql 函数 创建或替换函数testfunc.....
编译成功。当我验证 all_procedures 系统表时,它不存在。 select * from all_procedures where procedure_name like '%testfunc%';
不确定我是否正在查看正确的系统表
【问题讨论】:
如果你真的希望函数被命名为testfunc
,你需要使用create or replace function "testfunc"
——虽然你可能不想...
【参考方案1】:
除非您使用双引号标识符来强制区分大小写(您几乎肯定不想这样做),否则 Oracle 将始终以大写形式将标识符存储在数据字典中。所以你会想要
SELECT *
FROM all_procedures
WHERE procedure_name = 'TESTFUNC'
【讨论】:
您是否在 all_procedures 视图中找到了您的程序???我找不到它,当我创建...:?奇怪..它只显示了包装规格和包装主体...请告诉我你找到了吗?谢谢【参考方案2】:以 system 或 sys 身份以 sysdba 登录并查询:
SELECT *
FROM dba_objects
WHERE object_name LIKE '%TESTFUNC%'
AND object_type='FUNCTION';
或
以您的用户身份登录并查询:
SELECT *
FROM all_objects
WHERE object_name LIKE '%TESTFUNC%'
【讨论】:
以上是关于搜索sql函数的主要内容,如果未能解决你的问题,请参考以下文章