用于创建表的 Oracle DEFAULT 子句。 “文字论证”?
Posted
技术标签:
【中文标题】用于创建表的 Oracle DEFAULT 子句。 “文字论证”?【英文标题】:Oracle DEFAULT clause for create table. "Literal argument"? 【发布时间】:2013-11-10 04:21:15 【问题描述】:我刚刚阅读了 CREATE TABLE 语句的文档,它说这与 DEFAULT 子句有关:
"DEFAULT 表达式可以包含任何 SQL 函数,只要 函数不返回文字参数、列引用或 嵌套函数调用。”
http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_7002.htm
函数不能返回“文字参数”是什么意思。我认为返回文字对于 DEFAULT 来说是可以的?
【问题讨论】:
【参考方案1】:是的,可以使用带 DEFAULT 的文字,例如 DEFAULT 'YES' 。该文本告诉您的是,如果您在 DEFAULT 中使用函数,例如 DEFAULT POWER(2,3)
,则该函数 POWER 不得返回文字参数。您可以在子句 DEFAULT 中使用 SQL built in functions,但不能使用 USER 定义的 PLSQL 函数
【讨论】:
我认为部分问题是,什么是“字面论证”?您能否举一个默认情况下无法使用的内置 SQL 函数的示例? SCORE、REF、AREF、SYS_CONNECT_BY_PATH 是一些在 DEFAULT 中不起作用的函数示例,因为它们属于返回“文字参数、列引用或嵌套函数”的函数类别调用” 对我来说为什么这些函数不起作用是有道理的,但我仍然对“文字参数”的含义感到困惑。 是的,这是我不明白的主要内容。文字和“文字参数”有什么区别?在这种情况下它们是一样的吗?以上是关于用于创建表的 Oracle DEFAULT 子句。 “文字论证”?的主要内容,如果未能解决你的问题,请参考以下文章