在SQL中执行存储过程没有问题,但这个的写法是不是有问题存在,这样写法会不会在遇到错误的时候,事务回滚?以下是我存储过程的例子
--创建存储过程
CREATE PROC prcTest
@AA VARCHAR(10),
@BB VARCHAR(10),
@CC VARCHAR(10),
@DD VARCHAR(10),
@iResult INT OUTPUT
AS
BEGIN
BEGIN TRANSACTION
SELECT * FROM TABLE....
INSERT INTO TABLE...
UPDATE TABLE SET....
IF @@error=0
BEGIN
COMMIT
SET @iResult=0
END
ELSE
BEGIN
SET @iResult = 1
ROLLBACK TRAN
END
END
--运行存储过程
DECLARE @iResult INT
EXEC prcTest
@AA='abc',
@BB='123',
@CC='abc123',
@DD='123abc',
@iResult OUTPUT