使用SQL事务的一个简单架构

    技术2022-05-19  17

    1、变量@@ERROR,输出错误代码,例如:

    服务器: 消息 156,级别 15,状态 1,行 6 在关键字 'CONSTRAINT' 附近有语法错误。 156 

    和消息值一样,如果没错,则输出0

     

    2、@@TRANCOUNT

    BEGIN TRANSACTION让该变量值+1,

    COMMIT TRANSACTION和COMMIT WORK让它-1,

    ROLLBACK TRANSACTION让它变为0,

    ROLLBACK TRANSACTION savepoint_name不会影响它。

     

    3、因此,使用事务的一个可行的,最简单的架构是:

    BEGIN TRANSACTION --some sql statement IF(@@ERROR!=0) ROLLBACK IF(@@TRANCOUNT>0) COMMIT TRANSACTION 

     

    4、创建表时,定义外键关系的方法如下:

    CONSTRAINT constraint_name FOREIGN KEY (column_name[,...n]) REFERENCES primary_key_table_name(column_name[,...n]) 

    一个例子为:CONSTRAINT FK_'+@id+'_answers FOREIGN KEY (qid,bid) REFERENCES answers(qid,id)


    最新回复(0)