我试图学习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