繁体   English   中英

SQL事务

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM