我有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)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top