gpt4 book ai didi

plsql - 在 SELECT 语句中使用声明的变量

转载 作者:行者123 更新时间:2023-12-04 14:33:45 25 4
gpt4 key购买 nike

我正在使用 Oracle 10g 并且需要在 的 where 子句中使用一个变量选择 ;例如。

DECLARE
v_blah NUMBER;
BEGIN

v_blah := 13;

SELECT * FROM PEOPLE p WHERE p.LuckyNumber = v_blah;

END;

但我收到一条错误消息

PLS-00428: an INTO clause is expected in this SELECT statement



它似乎在 DELETE 或 INSERT 语句中工作正常,所以我不确定为什么它在这里不起作用。

最佳答案

正确的语法是:

DECLARE
v_blah NUMBER := 13;
v_people_rec PEOPLE%ROWTYPE;
BEGIN
SELECT * INTO v_people_rec FROM PEOPLE p WHERE p.LuckyNumber = v_blah;
END;

select statement in PL/SQL需要一个存放查询结果的地方。在这个例子中,地点是 v_people_rec多变的。

上面的例子期望只返回一行。在其他情况下它会抛出异常 NO_DATA_FOUNDTOO_MANY_ROWS .

关于plsql - 在 SELECT 语句中使用声明的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6861012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com