搜索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函数的主要内容,如果未能解决你的问题,请参考以下文章

在 sql server 中搜索 LEN() 函数的替代项以进行优化

Sql函数笔记case when

SQL之case when then用法

SQL Case when 的使用方法

SQL Case when 的使用方法

SQL Case when 的使用方法 (转)