怎样让oracle语句实现insert和update根据条件case when执行
我想实现 的效果就是更新的时候判断是否有更新所必备的条件,如果没有的话则执行插入语句
逻辑就像下边的这段sql语句(注:下面的这段sql语句在else 部分是有错的)请高手指点一下 !加急件
UPDATE A cc
SET CC.role_id = '111'
WHERE cc.user_id = (
CASE WHEN (SELECT cc1.role_id
FROM A cc1
WHERE cc1.user_id ='abc')
IS NOT NULL
THEN 'abc'
ELSE (INSERT INTO Acc1 VALUES ('111','abc')) NULL
END ) ;
------解决方案--------------------给你个merge into例子,改一下就可以
MERGE INTO products p
USING newproducts np
ON (p.product_id = np.product_id)
WHEN MATCHED THEN
UPDATE
SET p.product_name = np.product_name,
p.category = np.category
WHERE p.category = 'DVD'
WHEN NOT MATCHED THEN
INSERT
VALUES (np.product_id, np.product_name, np.category)
前提是一张表