首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何为存储的proc参数选择默认值?

如何为存储的proc参数选择默认值?
EN

Stack Overflow用户
提问于 2013-11-01 12:53:50
回答 1查看 472关注 0票数 2

在获取过程参数的默认值时遇到问题:

代码语言:javascript
运行
复制
CREATE PROCEDURE foo(p_arg VARCHAR2:= 'FOO')
IS
BEGIN
 NULL;
END;
/

SELECT argument_name, default_value
  FROM sys.all_arguments
 WHERE object_name = 'FOO';

 ARGUMENT_NAME | DEFAULT_VALUE
 ------------------------------
 P_ARG         |  (Memo)

我为过程参数设置的默认值不会显示在输出中。我看到的只是default_value栏中的(备注)。Oracle文档没有帮助,因为这个特性是“为将来使用保留的”:01/server.121/e17615/refrn20015.htm#i1573843

请用另一种方法读取过程参数的默认值吗?

EN

Stack Overflow用户

回答已采纳

发布于 2013-11-01 22:12:04

不幸的是,从未填充过default_value数据字典视图的*_arguments列。出于某种原因,Oracle将其保留给以后使用。您可以看到,参数有或没有分配给它的默认值(列defaulted),但是缺少关于实际默认值的关键信息。在某种程度上,它被认为是文档错误。值得注意的是,dbms_describe包也没有提供有关参数的实际默认值的信息。因此,只有一个选项可以检索参数的默认值--存储过程源代码解析,这可以通过查询*_source视图获得。

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19727161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档