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)