if exists (select sid from table) begin insert end
if exists(select 1 from table where id='') begin udpate set where end else begin insert into values end
"在插入时先判断是否已有sID"如判断sID字段是否存在 if exists(select sID from dtStaffGroup)如判断sID字段是否存在指定值 if exists(select 1 from dtStaffGroup where sID=xxx)
2005 2008 直接用 merge 语句就可以实现
create proc InsertdtStaffGroup @sID varchar(255), @gID varchar(255) as begin declare @s_sID int set @s_sID=(select sID from dtStaffGroup where sID=@sID) if( @GongSiziliao_Id>0 ) begin update dtStaffGroup set gID=@gID where sID=@sID end else begin insert into dtStaffGroup (sID,gID) values (@sID,@gID) end end 基本就是这样写,没有测试,思路是正确的
create proc proc_name as if exists( select sid from dtStaffGroup where sid='sid' ) begin --有 end else begin --没有 end
begin
insert
end
begin
udpate
set
where
end
else
begin
insert
into
values
end
if exists(select sID from dtStaffGroup)如判断sID字段是否存在指定值
if exists(select 1 from dtStaffGroup where sID=xxx)
@sID varchar(255),
@gID varchar(255)
as
begin
declare @s_sID int
set @s_sID=(select sID from dtStaffGroup where sID=@sID)
if( @GongSiziliao_Id>0 )
begin
update dtStaffGroup set gID=@gID where sID=@sID
end
else
begin
insert into dtStaffGroup (sID,gID) values (@sID,@gID)
end
end
基本就是这样写,没有测试,思路是正确的
as
if exists( select sid from dtStaffGroup where sid='sid' )
begin
--有
end
else
begin
--没有
end