sqlserver中的存储过程写法及调用

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';

你可能感兴趣的:(sqlserver学习,sql)