0
什麼我想在這裏實現,在單個語句如何使用返回到得到的返回值。返回與WHERE NOT EXISTS
我使用下面的代碼,但得到語法錯誤。
set serveroutput on;
DECLARE
D_ID NUMBER DEFAULT 0;
BEGIN
INSERT INTO admin_depts
(name,
description,
created_by,
status)
SELECT 'SMS',
'SMS Team',
'admin',
'PEN'
FROM dual
WHERE NOT EXISTS (SELECT 1
FROM admin_depts
WHERE name = 'SMS') RETURNinG ID INTO D_ID;
dbms_output.put_line(D_ID);
END;
由於不是有效的語法,因此會出現語法錯誤!簡單!返回可以保存單個值,但是您可以返回多行。 – Annjawn
@Annjawn,SELECT'SMS','SMS Team','admin','PEN'FROM dual將只返回一行 –
是的,在你的情況下它可能會「可能」,但是oracle的設計並不是只保留你的想法。選擇查詢大多數情況下會返回多行,但它也可能返回一行或者不行,RETURNING如何知道這一點? – Annjawn