作用于表的触发器vs作用于数据库的触发器(包含SQL语言与触发器个别相关知识)...

首先,百度一下SQL触发器有多少种

(来自百度百科:https://baike.baidu.com/item/SQL%E8%A7%A6%E5%8F%91%E5%99%A8#3)

 

 

 

然后有关于缩写的SQL语言一共有四种

(来源:https://www.cnblogs.com/fan-yuan/p/7879353.html)

 

 

 

而在逐个查找定义的时候发现实际上有五种

ps.关于TCL的解释:(Tool Command Language)工具命令语言,一种脚本语言。 由John Ousterhout创建。 TCL很好学,功能很强大。TCL经常被用于快速原型开发,脚本编程,GUI和测试等方面。

(来自百度百科:https://baike.baidu.com/item/TCL%E8%AF%AD%E8%A8%80/8377624?fr=aladdin)

 

 

 

咳、话题扯远了

那么,简而言之,SQL触发器主要有以下:

DML(Data Manipulation Language)数据操纵语言,针对表数据(insert,update,delete)

DDL(Data Definition Language)数据定义语言,针对表结构(drop_table,alter_table,create_table)

DCL(Data Control Language)数据控制语言,针对权限(grant,deny,revoke)

 

而我们标题提到的就是DDL和DML了

 

DDL语法结构:

create trigger trigger_name

on database

for drop_table | alter_table | create_table

as

[print  | SQL语句块]

本人实例:

触发语句:

 

ps.这个例子的print语句设计出错,实际上只能约束修改或删除数据库,涉及到数据库内数据须用到DML触发器。

 

DML语法结构:

create trigger trigger_name

on table_name

for insert | update | delate

as

[print  | SQL语句块]

 

总结:DDL比DML的约束范围更加大,限制了整个数据库的操作,而DML仅局限于某个表上的操作。

转载于:https://www.cnblogs.com/donelyorjune/p/11109283.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值