PL / SQL代码使用:1,:2,:3等

时间:2011-10-27 02:47:12

标签: sql oracle stored-procedures plsql bind-variables

此代码的含义是什么?您将此方法称为什么? 我怎么知道它的值是什么:1,:2,:3等等?


(PL / SQL程序)

UPDATE tablename
SET column = :1, column = :2, column = :3, column = :4, column= :5....

2 个答案:

答案 0 :(得分:2)

这是在SQL * Plus中吗?

如果是,则它们是参数占位符。 SQL * Plus将在执行时提示您输入值。

如果您来自SQL客户端/编程语言(Java,PHP,C#等),这些通常代表预备语句中的参数,但我不确定仅数字占位符是否有效。

更新

这也可以出现在使用OPEN-FOR-USING语句执行的动态SQL中。没有看到更多的代码,我只是在猜测。

答案 1 :(得分:1)

那些是bind variables。 Oracle将它们替换为传递的实际值。当您使用Dynamic SQLEXECUTE-IMMEDIATEOPEN-FOR-USING作为mentioned by Phil时,通常可以找到这些内容。

如果你想知道在那里持有什么价值,你可能会想知道发布UPDATE陈述的位置&在发出UPDATE语句之前将它们记录到日志/调试表