Oracle:不允许使用在插入语句中调用函数的符号参数?
Posted
技术标签:
【中文标题】Oracle:不允许使用在插入语句中调用函数的符号参数?【英文标题】:Oracle: Use of notational parameters which calling functions in insert statements not allowed? 【发布时间】:2010-04-22 00:03:04 【问题描述】:为什么 Oracle 10 R2 不允许在插入语句中调用函数时使用符号参数?
在我的应用程序中,我在插入语句中调用了一个函数。如果使用参数传递的符号方法,我会收到 ORA-00907: Missing right parenthesis
错误消息
INSERT INTO foo
(a,
b,
c)
VALUES (c,
F1(P1=>'1', P2=>'2', P3 => '3'),
e)
将相同的更改为基于位置的参数传递,并且相同的代码被编译而没有错误。
INSERT INTO foo
(a,
b,
c)
VALUES (c,
F1('1','2','3'),
e)
为什么会这样?
【问题讨论】:
【参考方案1】:因为它是 added in 11g 的一个功能。
【讨论】:
在此之前,=>
只允许在从其他 PL/SQL 程序调用 PL/SQL 程序时使用。以上是关于Oracle:不允许使用在插入语句中调用函数的符号参数?的主要内容,如果未能解决你的问题,请参考以下文章
Oracle - PLS-00642:SQL 语句中不允许本地集合类型
如何将符号/字符(例如:“²”或其他语言符号)从 oracle 数据库插入到 postgreSQL