甲骨文“SQL错误:缺少IN或OUT参数的指数:: 1”
-
20-09-2019 - |
题
我有Oracle脚本,如下所示:
variable L_kSite number;
variable L_kPage number;
exec SomeStoredProcedureThatReturnsASite( :L_kSite );
exec SomeStoredProcedureThatAddsAPageToTheSite( :L_kSite, :L_kPage );
update SiteToPageLinkingTable
set HomePage = 1
where kSite = :L_kSite and kPage = :L_kPage;
据说最后的语句是一个绑定变量的有效使用,但是当我尝试运行该脚本,我得到这个在最后一行:
SQL Error: Missing IN or OUT parameter at index:: 1
我不知道如何继续在这里作为我不是甲骨文特别精通。
解决方案 2
根据上面留下我跑这下sqlplus的,而不是SQL Developer的和UPDATE语句完全跑了,留下我相信这是在SQL Developer中的问题,特别是有返回无ORA错误编号的意见。谢谢你带领我在正确的方向。
其他提示
I I是在Java代码使用JDBC时对我的侧类似的错误。
根据这个网站 (第二awnser),它建议你尝试用缺少的参数来执行查询。
例如:
exec SomeStoredProcedureThatReturnsASite( :L_kSite );
您正在尝试没有最后一个参数来执行查询。
也许在SQLPlus
它不具有相同的要求,所以它可能已经是幸运,因为它在那里工作。
我认为它与JDBC相关。
我有类似的问题(缺失PARAM)当我有这样的条件,其中:
a = :namedparameter and b = :namedparameter
它的确定,当我有这样的:
a = :namedparameter and b = :namedparameter2 (the two param has the same value)
所以,它与命名参数有问题。 我认为这是一个错误周围命名参数处理,它看起来像如果只有第一个参数得到正确的价值,二是没有驱动程序类设置。也许它不是一个错误,只有我不知道的东西,但无论如何,我想这是对SQL开发,并为您运行的sqlplus之间的差异的原因,因为据我所知,SQL开发人员使用JDBC驱动程序。
我得到了同样的错误,发现原因是一个错误或丢失的外键。 (使用JDBC)
我不得不因为在包含一个问号列的别名一些错字的此错误(例如contract.reference作为合同?REF)
不隶属于 StackOverflow