而是插入触发器

1 sql sql-server triggers

有人可以给我一个代替MSSQL插入触发器的骨架体.我正在尝试测试采购订单列中的最大值(这是一个整数),并且在插入时,它会抓取一个最大值增量并将其作为采购订单ID插入.该列未设置自动增量选项,因此我使用触发器来解决这个问题.

谢谢.

And*_*mar 6

以下是如何更改表以包含标识列.

  1. 创建一个具有相同结构的新表,但在Purchase Order ID上有一个标识列.您可以使用"脚本表作为",只需更改采购订单ID的行,如:

    [Purchase Order Id] int identity主键,

  2. 在新表上启用标识插入:

    SET IDENTITY INSERT NewTable ON

  3. 复制数据:

    INSERT INTO NewTable(列)SELECT*FROM CurrentTable

  4. 关闭身份插入:

    SET IDENTITY INSERT NewTable OFF

  5. 重命名(或删除)旧表,使其不再使用:

    EXEC sp_rename'CurrentTable','BackupTable';

  6. 移动新表:

    EXEC sp_rename'NewTable','CurrentTable';

现在你有一个很好的标识列,这比讨厌的触发器要好得多.