我試圖學習PL/SQL,我被賦予一個任務,我不知道如何解決。PL/SQL列表的項目,檢查是否存在記錄,如果是的話更新,如果沒有創建
我給出了一個訂單列表。我想檢查我的訂單表中的每個人以下列方式:
- 檢查順序是否存在,如果沒有創造紀錄
- 檢查順序fullfilled(0或1)
- 如果訂單不fullfilled(0),更新到1
我把一個劇本,我認爲可以爲一個爲了做到這一點,但我敢肯定,這不是很好:
DECLARE
tmp NUMBER;
tmp2 NUMBER;
o_id NUMBER := 999;
BEGIN
/*Checking if order exists */
SELECT COUNT (*)
INTO tmp
FROM ORDERS
WHERE ORDERID = o_id;
IF (tmp = 0) THEN
/* INSERT HERE */
END IF;
SELECT FULLFILLED INTO tmp2
FROM ORDERS
WHERE ORDERID = o_id;
IF (tmp2 = 0) THEN
/* UPDATE... */
END IF;
end;
我將不勝感激任何建議,我應該看看如何使這個腳本高效?謝謝。
您是否介意在「USING」下的select語句中爲什麼使用「dual」? – Ziqq