现有表
A:
-------------------------
X Y Z
-------------------------
X,Y 为主键
现在要更新表A,例如输入(M,N,K)这条记录,当存在A.X=M AND A.Y=N是就更新A.Z=K,否则就插入一条新的记录A.X=M,A.Y=N,A.Z=K
...全文
953打赏收藏
求一SQL,各位帮忙啊!
现有表 A: ------------------------- X Y Z ------------------------- X,Y 为主键 现在要更新表A,例如输入(M,N,K)这条记录,当存在A.X=M AND A.Y=N是就更新A.Z=K,否则就插入一条新的记录A.X=M,A.Y=N,A.Z=K
CREATE TABLE [A] (
[X] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Y] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Z] [char] (10) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
--建立联合逐渐住主键
alter table A add primary key (X, Y)
--过程
if exists(select 1 from A where X ='M' and Y ='N' )
begin
update A set A.Z='K1' where A.X='M' AND A.Y='N' --我改为K1,以查看效果
end
else
begin
insert A values('M','N','K')
end