谁能给我一个MSSQL的Instead of Insert触发器的骨架主体。我正在尝试测试采购订单列中的最大值(它是一个整数),在插入时,它获取最大值的增量,并将其作为采购订单ID插入。该列没有设置自动递增选项,所以我使用触发器绕过了它。
谢谢。
发布于 2009-05-29 15:06:21
下面是如何更改您的表以包含标识列的方法。
采购订单Id int标识主键,
SET IDENTITY INSERT NewTable ON
INSERT (Columns) SELECT * FROM CurrentTable
SET IDENTITY INSERT NewTable OFF
EXEC 'BackupTable';
EXEC sp_rename 'NewTable','CurrentTable';
现在您有了一个很好的identity列,这比讨厌的触发器要好得多。
发布于 2009-05-30 05:10:49
正如Andomar所描述的,在我看来,创建一个新的表来适当地支持您的特定需求将是理想的行动方案。
也就是说,如果您希望使用Instead of Insert触发器路线,那么下面的Microsoft参考提供了一个详细的示例。
https://stackoverflow.com/questions/928394
复制相似问题