灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:4173回复:0

[四级考试]2012年计算机等级考试四级数据库技术(12)

楼主#
更多 发布于:2012-08-22 14:30

1、 创建触发器的语句:CREATE TRIGGER,语法为:
  CREATE TRIGGER 触发器名称
  ON {表名| 视图名}
  [WITH ENCRYPTION]
  {FOR |AFTER|INSTEAD OF}{[INSERT][,][DELETE][,][UPDATE]}
  AS
  [{IF UPDATE(column)…}]
  SQL语句
  (1) 触发器名称在数据库中必须是惟一的;
  (2) ON子句用于指定在其上执行触发器的表;
  (3) AFTER:指定触发器只有在引发的SQL语句中指定的操作都已成功执行,并且所有的约束检查也成功完成后,才执行此触发器,这种触发器称为后触发型触发器;
  (4) FOR:作用同AFTER;
  (5) INSTEAD OF:指定执行触发器而不是执行引发触发器执行的SQL语句,从而替代触发语句的操作,这种触发器称为前触发型触发器;
  (6) INSTERT、DELETE或UPDATE是引发触发器执行的操作,若同时指定多个操作,则各操作之间用逗号分隔;
  2、 创建触发器时,需要注意:
  (1) 在一个表上可以建立多个名称不同、类型各异的触发器,每个触发器可由三个操作引发;
  (2) 大部分Transact-SQL语句都可用在触发器中,但也有一些限制;
  (3) 在触发器定义中,可以使用IF UPDATE子句测试在INSERT和UPDATE语句中是否对指定字段有影响;
  (4) 通常不要在触发器中返回任何结果。
  3、 创建后触发型触发器
  使用FOR或AFTER选项定义的触发器为后触发的触发器,即只有在引发触发器执行语句中指定的操作都已完成执行,并且所有的约束检查也成功完成后,才执行的触发器;
   4、 创建前触发型触发器
  使用INSTEAD OF 选项定义的触发器为前触发型触发器,在该触发器中,指定执行触发器而不是执行引发触发器执行的SQL语句,从而替代引发语句的操作。
  13.4 查看、修改及删除对象
  13.4.1 查看对象
  对于创建好的存储过程、函数可通过企业管理器和查询分析器查看这些对象的代码;
  13.4.2 修改对象
  1、 修改存储过程:ALTER PROCEDURE
  ALTER PROC 存储过程名
  [{@参数名 数据类型}[=default][OUTPUT]][,…n]
  AS
  SQL语句[…n]
  修改与定义的语句基本一致,只将CREARE PROC 改成ALTER PROC;
  2、修改用户自定义函数:
  修改与定义的语句基本一致,只将CREARE FUNCTION 改成ALTER FUNCTION;
  3、修改触发器:
  修改与定义的语句基本一致,只将CREARE TRIGGER 改成ALTER TRIGGER;
  13.4.3 删除对象
  1、 删除存储过程:
  DROP PROCEDURE {存储过程名}[,…n];
  2、删除用户自定义函数
  DROP FUNCTION {[拥有者名.]函数名}[,…n]
  3、删除触发器
  DROP TRIGGER {触发器名}[,…n]


喜欢0 评分0
游客

返回顶部