create procedure [%QUALIFIER%]%PROC% @MissionID integer as begin if exists ( select * from VRCheck where MissionID=@MissionID ) begin update VRCheck set Updated = 1 where MissionID=@MissionID end else begin insert into VRCheck (MissionID,Passed,Updated) values(@MissionID,0,1) end end
Create Procedure pTest ( @sField varchar(20), @iReturn Int output )as begin if Exists(Select 1 from TableName where sField = @sField ) beginend
Create Procedure pTest ( @sField varchar(20), @iReturn Int output )as begin if Exists(Select 1 from TableName where sField = @sField ) begin select @iReturn = 1 end else begin Select @iReturn = 0 end end
在查询分析器中执行上面的SQL看看.
Tryexceptend;
结构先判断出是否出错,如果出错再判断是否因为有重复记录
begin
if exists (
select * from VRCheck where MissionID=@MissionID
)
begin
update VRCheck set Updated = 1 where MissionID=@MissionID
end
else
begin
insert into VRCheck (MissionID,Passed,Updated)
values(@MissionID,0,1)
end
end
select 1
Create Procedure pTest
(
@sField varchar(20),
@iReturn Int output
)as
begin
if Exists(Select 1 from TableName where sField = @sField )
beginend
Create Procedure pTest
(
@sField varchar(20),
@iReturn Int output
)as
begin
if Exists(Select 1 from TableName where sField = @sField )
begin
select @iReturn = 1
end else
begin
Select @iReturn = 0
end
end