TbCard 表结构如下,CardCode和CardNum为主键。
CardCode varchar(10) not null default '',
CardNum varchar(10) not null default '',
OtherInfo1 varchar(10) not null default '',
OtherInfo2 varchar(10) not null default '',
同时,我建一个相同结构的临时表#Temp_TbCard我要实现这样的功能,把临时表中的数据保存到TbCard中,如果临时表中的CardCode和CardNum在tbCard中存在,则更新 OtherInfo1和 OtherInfo2.
否则如果临时表中的CardCode和 CardNum在tbCard中不存在,则插入该行数据到TbCard。
set OtherInfo1=t.CardCode ,OtherInfo2=t.CardNum
from TbCard inner join #Temp_TbCard t on TbCard.CardCode=t.CardCode
and TbCard.CardNum=t.CardNum
insert into TbCard
select *
from #Temp_TbCard a
where not exists (select 1 from TbCard b where a.CardCode=b.CardCode and a.CardNum=b.CardNum)
如果是之前版本可能要写两条语句,INNER JOIN的UPDATE, LEFT JOIN没有数据的INSERT
那么上面的sql语句同样也适用于oracle对吗?
那么上面的sql语句同样也适用于oracle对吗?请问,我还是用update 和 insert 而不用 merge
那么上面的sql语句同样也适用于oracle对吗?merge我不知道oracle有没有,但是update和insert一定有,我那个好像是标准sql,你没试过吗?
那么上面的sql语句同样也适用于oracle对吗?请问,我还是用update 和 insert 而不用 merge
那么上面的sql语句同样也适用于oracle对吗?merge我不知道oracle有没有,但是update和insert一定有,我那个好像是标准sql,你没试过吗?
谢谢啦