执行查询时 ORACLE 出错
ERROR IN ORACLE WHILE EXECUTING QUERY
我正在尝试执行以下查询并尝试在变量中获取输出。
DECLARE LATESTID INT
SELECT LATESTID := ID FROM Cust_RectifiedDetails WHERE CustNo = UNIFIEDCUSTOMERNO
ORDER BY ID DESC
但是在执行时出现以下错误:
ORA-24344: success with compilation error
PLS-00103: Encountered the symbol "LATESTID" when expecting one of the following:
:= . ( @ % ; not null range default character
请指导我
此致
使用 SELECT INTO 完成
试试这个:
BEGIN
SELECT ID INTO LATESTID FROM Cust_RectifiedDetails WHERE CustNo = UNIFIEDCUSTOMERNO
END;
不要忘记 BEGIN 和 END; INT
后的子句和分号
在 DECLARE
部分之后,您需要一个 BEGIN
。
此外,INT
后的分号丢失。
您不能在带有 :=
的 select 语句中赋值。请改用 select into
。
最后,当你 select into
时,order by
毫无意义。你可能想抓住 too_many_values
。或者,您可能想尝试 max()
或其任何派生词。
declare
latestid int;
begin
select id into latestid
from cust_rectifieddetails
where custno = unifiedcustomerno;
exception when to_many_values then
-- Do what you need to do.
raise;
end;
我正在尝试执行以下查询并尝试在变量中获取输出。
DECLARE LATESTID INT
SELECT LATESTID := ID FROM Cust_RectifiedDetails WHERE CustNo = UNIFIEDCUSTOMERNO
ORDER BY ID DESC
但是在执行时出现以下错误:
ORA-24344: success with compilation error PLS-00103: Encountered the symbol "LATESTID" when expecting one of the following: := . ( @ % ; not null range default character
请指导我 此致
使用 SELECT INTO 完成 试试这个:
BEGIN
SELECT ID INTO LATESTID FROM Cust_RectifiedDetails WHERE CustNo = UNIFIEDCUSTOMERNO
END;
不要忘记 BEGIN 和 END; INT
后的子句和分号在 DECLARE
部分之后,您需要一个 BEGIN
。
此外,INT
后的分号丢失。
您不能在带有 :=
的 select 语句中赋值。请改用 select into
。
最后,当你 select into
时,order by
毫无意义。你可能想抓住 too_many_values
。或者,您可能想尝试 max()
或其任何派生词。
declare
latestid int;
begin
select id into latestid
from cust_rectifieddetails
where custno = unifiedcustomerno;
exception when to_many_values then
-- Do what you need to do.
raise;
end;