新手求解答MERGE INTO的相似问题 我知道MERGE INTO是合并UPDATE和INSERT的语法,WHEN MATCHED THEN UPDATE, WHEN NOT MATCHED THEN INSERT,有没有类似的语法能实现合并UPDATE和DELETE的语法啊,就像WHEN MATCHED THEN UPDATE, WHEN NOT MATCHED THEN DELETE。不知道我描述清楚没有,求高手解答啊谢谢,加急 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 WHEN NOT MATCHED THEN DELETE首先想想可行否 删除你靠什么删除 的有思想 通过查询技巧使得无论怎么样都能匹配上(比如一个left join)然后根据delete 的where 条件决定删除哪些。 这个只能用触发器去实现,不能用merge...into! create table TTA(AID VARCHAR2(40),ANAME VARCHAR2(40));create table TTB(BID VARCHAR2(40),BNAME VARCHAR2(40));insert into TTA (AID, ANAME) values ('1', '关');insert into TTA (AID, ANAME) values ('2', '张');insert into TTA (AID, ANAME) values ('3', '赵');insert into TTA (AID, ANAME) values ('4', '马');insert into TTA (AID, ANAME) values ('5', '黄');insert into TTB (BID, BNAME) values ('1', null);insert into TTB (BID, BNAME) values ('2', null);insert into TTB (BID, BNAME) values ('3', null);insert into TTB (BID, BNAME) values ('4', null);insert into TTB (BID, BNAME) values ('5', null);insert into TTB (BID, BNAME) values ('6', null);insert into TTB (BID, BNAME) values ('7', null);commit;merge into ttb b using (select aid, aname, bid, bname from tta right join ttb on tta.aid = ttb.bid) ab on (b.bid = ab.bid) when matched then update set bname = ab.aname delete where ab.aid is null 在sql server 和oracle中使用分葉 有哪些专业工具用来写 select 查询语句的呢? 三个表的关系查询和统计。有点急,请大家帮帮忙。谢谢! Oracle全文检索中遇到特殊字符的问题 时间转换求助 能不能将EXCEL或者ACCESS的一列数据导入ORACLE的某一列? 在Oracle中我用什么工具可以将Oracle中的自定义的过程的脚本取出?? sql语句请教,表中有日期字段,搜索出2002.2.2 -2002.7.10的语句怎么写? 菜鸟数据库IMP导入问题。。50分 求助各位oracle的备份问题! 数据库建模 统计sql问题
通过查询技巧使得无论怎么样都能匹配上(比如一个left join)
然后根据delete 的where 条件决定删除哪些。
(AID VARCHAR2(40),ANAME VARCHAR2(40));create table TTB
(BID VARCHAR2(40),BNAME VARCHAR2(40));insert into TTA (AID, ANAME) values ('1', '关');
insert into TTA (AID, ANAME) values ('2', '张');
insert into TTA (AID, ANAME) values ('3', '赵');
insert into TTA (AID, ANAME) values ('4', '马');
insert into TTA (AID, ANAME) values ('5', '黄');insert into TTB (BID, BNAME) values ('1', null);
insert into TTB (BID, BNAME) values ('2', null);
insert into TTB (BID, BNAME) values ('3', null);
insert into TTB (BID, BNAME) values ('4', null);
insert into TTB (BID, BNAME) values ('5', null);
insert into TTB (BID, BNAME) values ('6', null);
insert into TTB (BID, BNAME) values ('7', null);
commit;
merge into ttb b
using (select aid, aname, bid, bname from tta right join ttb on tta.aid = ttb.bid) ab
on (b.bid = ab.bid)
when matched then
update set bname = ab.aname
delete where ab.aid is null