我正在尝试执行以下查询并尝试在变量中获取输出。
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
请指导我 此致
答案 0 :(得分:2)
在DECLARE
部分后,您需要BEGIN
。
此外,INT
之后的分号丢失。
您无法使用:=
在select语句中指定值。请改用select into
。
最后,当您order by
时,select into
毫无意义。您可能想要抓住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;
答案 1 :(得分:1)
使用SELECT INTO完成 试试这个:
BEGIN
SELECT ID INTO LATESTID FROM Cust_RectifiedDetails WHERE CustNo = UNIFIEDCUSTOMERNO
END;
别忘了BEGIN和END; INT后面的子句和分号