【问题标题】:Search for sql function搜索sql函数
【发布时间】: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"——虽然你可能不想...

标签: sql oracle plsql oracle10g


【解决方案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%'

【讨论】:

    猜你喜欢
    • 2021-03-07
    • 2021-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多