我需要插入一些数据,如果插入成功则返回一个值表示,比如1,如果插入失败或出错则回滚到数据插入之前,并返回另一个值表示,比如-1
我写了一点代码,不太完整,希望大家帮我修改指点一下,谢谢。create proc ag1_sh_data
as
DECLARE @TranName VARCHAR(20)
SET @TranName = 'ag1_sh'BEGIN TRANSACTION @TranName
go
use test
go
insert into dbo.AG1TAB_cs
select * from dbo.lttest1
where agent_code like '%0A10'
go
ROLLBACK TRANSACTION ag1_sh
go
据说在返回值的时候需要用到return,请大家多给点建议。
我写了一点代码,不太完整,希望大家帮我修改指点一下,谢谢。create proc ag1_sh_data
as
DECLARE @TranName VARCHAR(20)
SET @TranName = 'ag1_sh'BEGIN TRANSACTION @TranName
go
use test
go
insert into dbo.AG1TAB_cs
select * from dbo.lttest1
where agent_code like '%0A10'
go
ROLLBACK TRANSACTION ag1_sh
go
据说在返回值的时候需要用到return,请大家多给点建议。
gocreate proc ag1_sh_data
asBEGIN TRANSACTION ag1_shinsert into dbo.AG1TAB_cs
select * from dbo.lttest1
where agent_code like '%0A10'if @@error=0
begin
commit transaction
return 1
endelse
begin
ROLLBACK TRANSACTION ag1_sh
return -1
end
go
@p1 int,
@p2 int,
@ret int
exec @ret = 存储过程名 @p1, @p2 outputselect @ret as 返回值, @p2 as 输出参数值