日期:2014-05-18 浏览次数:20544 次
IF EXISTS (SELECT 1 FROM SYSOBJECTS WHERE name = 't')
BEGIN
    DROP TABLE t
END
GO
CREATE TABLE t
(
    ID INT IDENTITY(1,1) PRIMARY KEY ,NAME VARCHAR(20),Num int
)
BEGIN TRANSACTION
BEGIN TRY
    --DECLARE @t TABLE (ID INT IDENTITY(1,1) PRIMARY KEY ,NAME VARCHAR(20),Num int)
    INSERT INTO t(NAME )SELECT 'test'
    INSERT INTO t(NUM) SELECT '3asfd'
    SELECT '操作成功!!'
    COMMIT TRANSACTION   
end TRY
BEGIN catch
    IF (XACT_STATE()) = -1
    BEGIN
        SELECT N'Roll back' AS 'status'
        ROLLBACK TRANSACTION
    END
    IF (XACT_STATE()) = 1
    BEGIN
        SELECT  N'Commit' AS 'status'
        COMMIT TRANSACTION 
    END
    SELECT '操作失败!!'
end CATCH
  
  SELECT * FROM t