【发布时间】:2010-08-03 19:17:56
【问题描述】:
在下面的例子中,
variable recordId number;
BEGIN
SELECT MAX(recordvalue)
INTO recordId
FROM sometable;
END;
PRINT recordid;
SELECT *
FROM someothertable
WHERE recordkey = &recordId;
最后一行的select语句无法访问recordId的值。
我知道我可以使用 :recordId 在 pl/sql 块内访问recordId,但是有没有办法在不在 pl/sql 块中的 sql 语句中访问recordId? (如最后一行)。
【问题讨论】:
-
为什么要在匿名 PLSQL 块范围之外进行更多操作?
-
您也可以在 SQL*Plus 中使用绑定变量,仍然是
:recordId。&版本会提示输入值,与variable版本没有直接关系。不完全确定你为什么要像这样混搭。