簡體   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