数据库学习笔记-触发器
2017-09-10 18:45
288 查看
步骤
创建触发器
①启动SQL Server 查询编辑器,选择要操作数据库,如“sc(学生选课)”数据库。②在查询命令窗口中输入以下CREATE TRIGGER语句,创建触发器。
为sc(学生选课)表创建一个基于UPDATE操作和DELETE操作的复合型触发器,当修改了该表中的成绩信息或者删除了成绩记录时,触发器被激活生效,显示相关的操作信息。
CREATE TRIGGER tri_UPDATE_DELETE_sc ON sc FOR UPDATE,DELETE AS IF UPDATE(Grade) BEGIN SELECT INSERTED.Cno,DELETED.Grade AS Grade, INSERTED.Grade AS Grade FROM DELETED ,INSERTED WHERE DELETED.Sno=INSERTED.Sno END ELSE IF COLUMNS_UPDATED( )=0 BEGIN SELECT Sno=DELETED.Sno,DELETED.Cno, DELETED.Grade AS Grade FROM DELETED END ELSE PRINT '更新了非成绩列!'
触发触发器
①在查询命令窗口中输入以下UPDATE sc语句,修改成绩列,激发触发器。UPDATE SC SET Grade=Grade+5 WHERE Cno='2'
②在查询命令窗口中输入以下UPDATE sc语句修改非成绩列,激发触发器。
UPDATE sc SET Cno='5' WHERE cno='2'
③在查询命令窗口中输入以下DELETE sc 语句,删除成绩记录,激发触发器。
DELETE sc WHERE cno='5'
比较约束与触发器的不同作用期
①在查询命令窗口中输入并执行以下ALTER TABLE 语句,为sc表添加一个约束,使得成绩只能大于等于0且小于等于100。ALTER TABLE sc ADD CONSTRAINT CK_grade CHECK(Grade>=0 AND Grade<=100)
②在查询命令窗口中输入并执行以下UPDATE sc语句,查看执行结果。
UPDATE sc
SET成绩=120
WHERE 课程号=’108’
UPDATE sc SET Grade=120 WHERE Cno='1'
③在查询命令窗口中输入执行以下UPDATE sc语句,查看执行结果。
UPDATE sc SET grade=90 WHERE Cno='3'
删除新创建的触发器
①在查询命令窗口中输入DROP TRIGGER 语句,删除新创建的触发器。DROP TRIGGER tri_UPDATE_DELETE_sc
相关文章推荐
- 使用函数与触发器 【数据库高效编程 - 学习笔记 第十章】
- Oracle 数据库触发器学习笔记
- PostgreSQL数据库日常学习笔记16-触发器函数
- 【数据库学习笔记】MySQL_03_存储过程,触发器,权限,视图,函数
- Mysql 数据库学习笔记05 触发器
- MySQL存储过程和触发器的实现--数据库学习笔记
- 数据库学习笔记触发器和常用函数
- 数据库学习笔记和小练习(10)触发器
- 【数据库学习笔记】Oracle_04_存储过程,函数,触发器,索引,同义词
- 数据库学习笔记 --- 触发器原理学习
- Java学习笔记之数据库(触发器、事物、索引、投影和除、视图、存储过程和函数 )含各种链)___ 一直补充
- OAF学习笔记-23-OAF中将数据库中的表导出生成xls ,xlsx,csv 等格式
- 【数据库学习笔记】Oracle_03_PL/SQL深入:游标编程,自定义异常
- 数据库系统概念学习笔记2
- Ruby on Rails学习笔记3-数据库保存session
- Oracle 数据库存储过程学习笔记
- [学习笔记]二进制数据的处理(1) 普通二进制数据处理 A -------保存到数据库
- MySQL服务器学习笔记!(一) ——数据库相关概念
- Spring Boot学习笔记之数据库访问
- iOS学习笔记 数据库SQLite