• sql server trigger 触发器


    
    

    sql server trigger 触发器

    
    

     insert触发器,

    
    
    
    --创建insert插入类型触发器
    if (object_id('tgr_userinfo_insert', 'tr') is not null)
        drop trigger tgr_userinfo_insert
    go
    create trigger tgr_userinfo_insert
    on [t_song].[dbo].[userinfo]
        for insert --插入触发
    as
        --定义变量
        declare @id int, @name varchar(50), @age int;
        --在inserted表中查询已经插入记录信息
        select @id = id, @name = username,@age=age from inserted;
        insert into [t_song].[dbo].[userinfo_copy] values(@id,@name,@age);
        print '添加info成功!';
    go
    
    
    --插入数据
    insert into [t_song].[dbo].[userinfo] values('name1',11);
    
    
    --查询数据
    select * from [t_song].[dbo].[userinfo];
    select * from [t_song].[dbo].[userinfo_copy] order by id;

    -----

    demo2:

    --创建insert插入类型触发器
    if (object_id('tgr_SCION_TEST_insert', 'tr') is not null)
        drop trigger tgr_SCION_TEST_insert
    go
    create trigger tgr_SCION_TEST_insert
    on [eGActiveDB].[dbo].[SCION_TEST]
        for insert --插入触发
    as
        --定义变量
        declare @url varchar(256),@result_id int;
        --在inserted表中查询已经插入记录信息
        select @url = url from inserted;
        update [eGActiveDB].[dbo].[SCION_TEST]
                set result_id=(
                        select search_result_id 
                        From [eGActiveDB].[dbo].[egsl_adapter_search_results] a
                        where a.url=@url)
                where url=@url;
        
        print 'update[eGActiveDB].[dbo].[SCION_TEST] success';
    go
    
    --删除数据
    truncate table [eGActiveDB].[dbo].[SCION_TEST]
    --插入数据
    insert into [eGActiveDB].[dbo].[SCION_TEST](url) values ('https://weibo.com/hpanca_221/status/2602777280')
    
    --查询数据
    select * from [eGActiveDB].[dbo].[SCION_TEST]
    select * From [eGActiveDB].[dbo].[egsl_adapter_search_results]

    ---

    --创建insert插入类型触发器
    if (object_id('tgr_egsl_adapter_search_results_insert_test', 'tr') is not null)
        drop trigger tgr_egsl_adapter_search_results_insert_test
    go
    create trigger tgr_egsl_adapter_search_results_insert_test
    on [eGActiveDB].[dbo].[egsl_adapter_search_results]
        for insert --插入触发
    as
        --定义变量
        declare @url varchar(256),@result_id int;
        --在inserted表中查询已经插入记录信息
        select @url = url,@result_id = search_result_id from inserted;
        update [eGActiveDB].[dbo].[SCION_RESULT]
                set result_id=@result_id
                where url=@url;
        print 'update[eGActiveDB].[dbo].[SCION_RESULT] success';
    go

    ---

    sql select 出的字段,怎么让它多出一列

    select t.a, t.b from table t
    
    select t.a, t.b,'c'as c  from table t

    ---

  • 相关阅读:
    个人阅读笔记05—数据流图
    JVM(三)程序计数器【PC寄存器】
    JVM(三)运行时数据区的概述,线程概述
    JVM(二)表示两个Class对象是否为同一个类;Java程序对类的使用
    我的面试经之JVM(二)双亲委派机制
    我的面试经之JVM(二) ClassLoader补充【获取类的加载器的方式】
    我的面试经之JVM(二)类加载器的分类
    我的面试经之JVM(二)类加载器子系统ClassLoader类的加载过程
    Python小白要了解的模块大概用途(随学习进度更新),import xxxx
    Python常见的模块(知乎转载)
  • 原文地址:https://www.cnblogs.com/syc001/p/2784479.html
Copyright © 2020-2023  润新知