sql触发器

一:https://www.cnblogs.com/yank/p/4193820.html

sql触发器的总结

 

二:实例
     Create Trigger truStudent 
       On Student                         --Student表中创建触发器 
       for Update                          --为什么事件触发 
     As                                        --事件触发后所要做的事情 
       if Update(StudentID)            
       begin 

         Update BorrowRecord 
           Set StudentID=i.StudentID 
           From BorrowRecord br , Deleted   d ,Inserted i      --DeletedInserted临时表 
           Where br.StudentID=d.StudentID 

       end        
                 
     理解触发器里面的两个临时的表:Deleted , Inserted 。注意Deleted Inserted分别表示触发事件的表旧的一条记录新的一条记录。 
     一个数据库系统中有两个虚拟表用于存储在表中记录改动的信息,分别是: 
                             虚拟表Inserted                     虚拟表Deleted 

在表记录新增时     存放新增的记录                         不存储记录 
         修改时           存放用来更新的新记录                   存放更新前的记录 
         删除时           不存储记录                             存放被删除的记录 


     一个Update 的过程可以看作为:生成新的记录到Inserted表,复制旧的记录到Deleted表,然后删除Student记录并写入新纪录。 
 

1.内连接

SELECT column_name(s)
FROM table_name1
INNER JOIN table_name2 
ON table_name1.column_name=table_name2.column_name

注释:INNER JOIN 与 JOIN 是相同的。

s1 inner join s2 on s1.x = s2.x

<=> s1 ,s2 where s1.x = s2.x

<=> s1 join s2 on s1.x = s2.x

(1)自然连接 natural join 

只能有一个相同名字的列?

(2)join... on.... /using

 

2. declare 关键字

 

3.drop trigger

 

IF OBJECT_ID (N'TRIGER_Courses_Delete', N'tr') IS NOT NULL
    DROP TRIGGER TRIGER_Courses_Delete;
GO

-- Trigger on an INSERT, UPDATE, or DELETE statement to a table or view (DML Trigger)

DROP TRIGGER [ IF EXISTS ] [schema_name.]trigger_name [ ,...n ] [ ; ]

-- Trigger on a CREATE, ALTER, DROP, GRANT, DENY, REVOKE or UPDATE statement (DDL Trigger)

DROP TRIGGER [ IF EXISTS ] trigger_name [ ,...n ] ON { DATABASE | ALL SERVER } [ ; ]

-- Trigger on a LOGON event (Logon Trigger)

DROP TRIGGER [ IF EXISTS ] trigger_name [ ,...n ] ON ALL SERVER

 

 

删除触发器

???什么情况下删除

3.if go

GO是分批处理的意思,语句太长的时候使用它分批处理

会显示能执行成功的事务的结果

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值