zoukankan      html  css  js  c++  java
  • SQL Server触发器Trigger(2)

    下面表[OrderDemo]有一个字段[Num],此字段作为排序字段,在插入时它的值为主键一样,但不能设为IDENTITY自动增长,因为它有可能被更新为其它值。

    代码
    IF OBJECT_ID('[dbo].[OrderDemo]'IS NOT NULL
        
    DROP TABLE [dbo].[OrderDemo]
    GO

    CREATE TABLE [dbo].[OrderDemo]
    (
        OrderDemoId 
    INT IDENTITY(1,1PRIMARY KEY NOT NULL,
        
    [Name] NVARCHAR(50NOT NULL,
        
    [Num] INT NULL  
    )
    GO

    现在我们需要写一个触发器(AFTER INSERT),当在记录插入时,把记录自动产生的主键值写入这个字段中。

    代码

    IF EXISTS (SELECT [name] FROM sysobjects WHERE [name] = 'tri_OrderDemo_Insert' AND TYPE = 'TR')
       
    DROP TRIGGER [dbo].[tri_OrderDemo_Insert]
    GO

    CREATE TRIGGER [dbo].[tri_OrderDemo_Insert] ON [dbo].[OrderDemo]
    AFTER 
    INSERT
    AS
    DECLARE @PK INT 
    SELECT @PK = [OrderDemoId] FROM inserted
    UPDATE [dbo].[OrderDemo] SET [Num] = @PK WHERE [OrderDemoId] = @PK
  • 相关阅读:
    django_视图层_便捷工具
    django_视图层_编写url
    04bootstrap_表单
    人工智能之线性代数
    人工智能之数组操作
    C 获取Linux系统信息
    RPM
    Windows 启动&关闭Hyper-V
    C 指定初始化器
    指针的运算
  • 原文地址:https://www.cnblogs.com/insus/p/1921391.html
Copyright © 2011-2022 走看看