数据库触发器操作

JY数据库触发器操作

USE JY
GO
1.说明:
  1. 作用:实现主键和外键所不能保证的复杂参照完整性和数据一致性

  2. 结果:
    触发器和引起触发器执行的语句会被当做一次事务处理,如果执行失败,
    自动回滚至事务执行前的状态

  3. 功能:

    1.强化约束:能实现比check更复杂的约束,强制执行数据库中相关表的完整性
    2.跟踪数据变化:撤销或者回滚违反了引用完整性的操作,防止非法修改数据
    3.级联运行:级联修改数据库中相关的表,自动触发与之相关的操作
    4.返回自定义错误信息:可以返回信息,约束只能显示系统的标准错误信息

  4. 注意:

    1.CREATE TRIGGER必须是批处理的第一条语句,且只能应用到一个表中
    2.与存储过程一样,当触发器触发时,需要向调用应用程序返回结果;若不需要返回结果,则不能在触发器中对变量赋值
    3.在同一条CREATE TRIGGER语句中,可以为多个事件定义相同的触发器操作
    4.触发器只能在当前数据库中创建,但可以引用当前数据库的外部对象
    5.如果一个表的外键在DELETE/UPDATE上定义了级联,则不能在该表上定义INSTEAD OF UPDATE/DELETE触发器
    6.约束可以实现预定数据完整性时,优先使用约束
    7.触发器不允许使用ALTER DATABASE、CREATE DATABASE和DROP DATABASE等语句
    8.允许嵌套和递归

2.创建AFTER触发器
  • 语法格式
CREATE TRIGGER trigger_name
ON {
   table | view}
[WITH <ENCRPYPTION>]
{
    {
   FOR | AFTER | INSTEAD OF}
    {[DELETE] [,] [INSERT] [,] [UPDATE]}
    AS
        sql_statement[ , ...]  --触发器条件和操作
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值