1、创建存储过程,并开启事务控制
if exists (select * from dbo.sysobjects where name = N'PROD_NAME' )
DROP PROCEDURE dbo.PROD_NAME
GO
CREATE PROCEDURE [dbo].[PROD_NAME] (
@parameter1 VARCHAR(10),
@parameter2 VARCHAR(10)
AS
BEGIN --000
declare @error int =0 --事务中操作的错误记录
--开启事务
begin transaction
delete from test_table where column1=@parameter1 and column2=@parameter2
set @error+=@@ERROR --记录有可能产生的错误号
insert into test_table(column1,column2,column3,column4)
values(@parameter1,@parameter2,'','')
set @error+=@@ERROR --记录有可能产生的错误号
if(@error<>0)
begin
rollback transaction
return -1 --设置操作结果错误标识
end
else
begin
commit transaction
return 1 --操作成功的标识
end
END --000
GO
2、调用
exec dbo.PROD_NAME '123','abc';