2

这段代码是什么意思,你怎么称呼这个方法?我怎么知道 :1、:2、:3 等的值是多少?


(PL/SQL 过程)

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

2 回答 2

2

这是在 SQL*Plus 中吗?

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

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

更新

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

于 2011-10-27T02:53:48.243 回答
1

这些是绑定变量。Oracle 将它们替换为传递的实际值。这些通常在您使用Phil 提到的Dynamic SQLEXECUTE-IMMEDIATE、 OROPEN-FOR-USING时找到。

如果您想知道那里保存了哪些值,您可能需要查找发出语句的位置,并在发出语句UPDATE之前将它们记录到日志记录/调试表中UPDATE

于 2011-10-27T04:38:55.293 回答