[英]Sql Transaction
我是sql的新手,我想在sql中使用ROLLBACK TRANSACTION,所以我这样做了
--to insert into instructor table--
create procedure [dbo].[insertInstructor] (@f_name varchar(50), @l_name varchar(50), @contact nvarchar(50))
AS
BEGIN
begin transaction
save transaction insert_instructor
insert into instructor(f_name,l_name,contact)
values(@f_name,@l_name,@contact)
END
--to rollback the transaction i did this
create procedure [dbo].[delete_instructor]
AS
BEGIN
begin transaction insert_instructor
rollback transaction insert_instructor
END
我在Windows窗体应用程序C#中调用了这些存储过程。 TIA
CREATE PROCEDURE [dbo].[insertInstructor] (@f_name VARCHAR(50), @l_name VARCHAR(50), @contact NVARCHAR(50))
AS
BEGIN
BEGIN TRANSACTION
DECLARE @flg_error INT
SET @flg_error = 0
INSERT INTO instructor(f_name,l_name,contact)
VALUES(@f_name,@l_name,@contact)
SET @flg_error = @@ERROR
IF @flg_error <> 0 BEGIN
RAISERROR ('1', 16, 1)
ROLLBACK TRANSACTION
END
COMMIT TRANSACTION
END
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.