Access 2003完整教程:使用触发器

关于 SQL Server 联机丛书和 Transact-SQL 参考信息

Microsoft Access 文档在其“帮助”系统中讲述了如何使用和设计与 Microsoft SQL Server 数据库连接的Microsoft Access 项目。不过,您也可能遇到一些专门的产品问题,需要使用有关 SQL Server 的附加信息,如有关 Transact-SQL 或 SQL Server 企业管理器的参考信息。

访问 SQL Server 联机丛书和 Transact SQL 参考信息

Microsoft SQL Server 的主要信息源是 SQL Server 联机丛书。如果您有权访问本地或远程计算机上的 SQL Server 2000,则通过“开始”菜单即可访问 SQL Server 联机丛书。但是,如果您不具有访问 SQL Server 联机丛书的权限,则也可以通过 SQL Server 联机丛书下载网页下载该丛书。

SQL Server 文档概述

SQL Server 文档中包含下列信息:

项目说明
SQL Server 联机丛书包含有关 SQL Server 2000 的综合信息,包括:
  • 概念性信息。
  • 常规指导。
  • 有关 Transact-SQL 语法的参考信息。
  • 有关 SQL Server 错误消息、编号以及恢复操作的参考信息。
  • 常规编程参考。
企业版管理器帮助关于管理 SQL Server 数据库的帮助信息。
复制向导关于配置并管理复制的帮助信息。
客户配置实用程序帮助关于管理 SQL Server 网络连接选项的帮助信息
ODBC 驱动程序帮助关于创建 SQL Server ODBC 数据源定义的帮助信息。
配置文件帮助关于在跟踪文件中捕获 SQL Server 事件用于分析和重新运行的帮助信息。
查询分析器帮助关于用于交互设计和测试 Transact-SQL 语句、批处理和脚本的图形化用户界面的帮助信息。
数据传输服务 (DTS) 设计器帮助关于导入、导出和传输各种数据源的帮助信息。
SQL 分布式管理对象 (SQL-DMO)SQL-DMO 对象、属性和方法的开发环境中可使用的上下文相关的帮助信息。
Pubs 示例数据库传统 SQL Server 示例数据库。
罗斯文 SQL 示例数据库与 Access 罗斯文示例数据库类似的示例数据库,含有具体的 SQL Server 示例。

关于触发器

触发器的定义

触发器是一种特殊类型的存储过程,它在特定的表中使用数据修改操作修改数据时才起作用,这些修改操作有:UPDATE、INSERT、或 DELETE。触发器可以查询其他表而且可以包含复杂的 SQL 语句。这对于实施复杂的商业规则或要求尤其有用。例如,可依据顾客帐户的状态来控制是否允许插入订单。

触发器对于实施参照完整性也是有用的,参照完整性可使得在表中添加、更新或者删除行时保持表之间已定义的关系。然而,实施参照完整性的最佳方法是在相关表中定义主键和外键约束。如果使用数据库图表,就可以通过创建表之间的关系来自动创建一个外键约束。

使用触发器的优势

触发器在下述几个方面很有用:

创建触发器

触发器是一个数据库对象,是通过指定以下内容创建的:

使用 Transact-SQL for Microsoft? SQL Server? 语言编写触发器。

  1. 在“数据库”窗口中,单击“对象”下的“表”按钮图像
  2. 用鼠标右键单击要在其上创建触发器的表名。
  3. 从快捷菜单中选择“触发器”命令。
  4. 在“触发器用于表:<‘表名’>”对话框中,单击“新建”按钮。

    使用已为用户定义的默认 SQL 语句,在源代码编辑器中新建触发器。

    源代码编辑器中的触发器

  5. 按如下所示,修改默认的触发器文本:
    替换使用
    TABLE1_Trigger1希望为触发器指定的名称
    dbo.TABLE1希望向其附加触发器的表名
    /*Insert, Update, Delete*/激活此触发器的事务处理类型
    /*If Update (column_name) …*/将要发生的事务处理
  6. 以 SQL 语言编写剩余的触发器文本。

有关触发器的语法和示例,请参阅 Microsoft SQL 文档。

注释当触发器确定必须禁止某种更改时,需要在触发器中同时包含 RAISERROR 语句和 ROLLBACK 事务处理。这将确保客户记录集与服务器中的数据保持同步。如果只包含了 RAISERROR 语句或 ROLLBACK 事务处理,而不是同时包含二者,则客户记录集将不会反映服务器中数据的当前状态。RAISERROR 语句的严重度级别应该大于 10。有关详细信息,请参阅 SQL Server 文档中的 RAISERROR 和 ROLLBACK 事务处理。

打开触发器

用户可以打开触发器,以查看或编辑存储在用户数据库中的现有触发器文本。对于 Microsoft? SQL Server? 数据库来说,触发器使用 Transact-SQL 书写脚本。

  1. 在“数据库”窗口中,单击“对象”下的“表”按钮图像
  2. 用右键单击用户想打开其触发器的表名,然后选择快捷键菜单中的“触发器”。
  3. 在“触发器用于表: <‘表名’>” 对话框中,从“触发器名称”列表中选择要打开的触发器,然后单击“编辑”。

触发器在可以用于编辑 SQL 语句的源代码编辑器中打开。有关触发器和 CREATE TRIGGER SQL 语句的详细信息,请参阅 Microsoft SQL Server 文档。

重命名触发器

当更改触发器的名称时,只要保存了触发器,其名称就在数据库中更新了。但是,需要在其他引用它的地方(例如在代码中)更新对过去名称的所有引用。

  1. 打开触发器。

    操作方法:

    用户可以打开触发器,以查看或编辑存储在用户数据库中的现有触发器文本。对于 Microsoft? SQL Server? 数据库来说,触发器使用 Transact-SQL 书写脚本。

    1. 在“数据库”窗口中,单击“对象”下的“表”按钮图像
    2. 用右键单击用户想打开其触发器的表名,然后选择快捷键菜单中的“触发器”。
    3. 在“触发器用于表: <‘表名’>” 对话框中,从“触发器名称”列表中选择要打开的触发器,然后单击“编辑”。

    触发器在可以用于编辑 SQL 语句的源代码编辑器中打开。有关触发器和 CREATE TRIGGER SQL 语句的详细信息,请参阅 Microsoft SQL Server 文档。

  2. 在 SQL 源代码编辑器中,以新名称代替现有的触发器名称。(触发器名称出现在“Create Trigger”语句后。)
  3. 单击“保存”按钮图像以保存新的触发器。
  4. 删除旧的触发器(除非您想要两个名称不同的同一触发器)。

    操作方法:

    如果用户想禁用在触发器中所定义的动作(该动作在指定的事务之后立即在用户数据库上自动执行),那么可以删除触发器。

    如果用户用数据库图表来设计自己的数据库,也可能要删除任何在相关表之间实施参照完整性的触发器。为此目的,数据库图表使用关系而非触发器。因此,如果某个触发器重复了某个数据库图表中的关系,那么用户应当删除的可以是触发器,也可以是关系。

    1. 在“数据库”窗口中,单击“对象”下的“表”按钮图像
    2. 用右键单击用户想删除其触发器的表,然后选择快捷键菜单中的“触发器”。
    3. 在“触发器用于表:<‘表名’>”对话框中,选择要从“触发器名称”列表中删除的触发器,然后单击“删除”。
    4. 这时就会出现一条消息,提示用户确认删除动作。选择“是”。

新的触发器名就在数据库中。

删除触发器

如果用户想禁用在触发器中所定义的动作(该动作在指定的事务之后立即在用户数据库上自动执行),那么可以删除触发器。

如果用户用数据库图表来设计自己的数据库,也可能要删除任何在相关表之间实施参照完整性的触发器。为此目的,数据库图表使用关系而非触发器。因此,如果某个触发器重复了某个数据库图表中的关系,那么用户应当删除的可以是触发器,也可以是关系。

  1. 在“数据库”窗口中,单击“对象”下的“表”按钮图像
  2. 用右键单击用户想删除其触发器的表,然后选择快捷键菜单中的“触发器”。
  3. 在“触发器用于表:<‘表名’>”对话框中,选择要从“触发器名称”列表中删除的触发器,然后单击“删除”。
  4. 这时就会出现一条消息,提示用户确认删除动作。选择“是”。

上页:Access 2003完整教程:使用存储过程 下页:Access 2003完整教程:使用用户定义的函数

Access 2003完整教程:使用触发器

Access 2003完整教程:使用用户定义的函数Access 2003完整教程:向输入法编辑器 (IME) 字典中添加字词
Access 2003完整教程:向查询添加列Access 2003完整教程:在自定义字典中添加或删除朝鲜文字
Access 2003完整教程:Microsoft Access 项目设计器中的对话框帮助汇总Access 2003完整教程:Microsoft Access 项目中的扩展属性汇总
Access 2003完整教程:在筛选字段中允许多个选定内容Access 2003完整教程:关于在数据访问页中保存密码
Access 2003完整教程:应用筛选Access 2003完整教程:在数据透视表视图中自动显示项目或明细
Access 2003完整教程:备份和还原 Access 文件Access 2003完整教程:更改超链接
Access 2003完整教程:更改在窗体或报表的图表中的数据Access 2003完整教程:更改窗体或报表中的图表的外观
Access 2003完整教程:将数据透视图视图从系列更改为类别,或从类别更改为系列Access 2003完整教程:更改计算控件的聚合函数
Access 2003完整教程:更改默认文件格式Access 2003完整教程:循环引用
Access 2003完整教程:Microsoft 下载中心Access 2003完整教程:关于在电子邮件中发送数据访问页
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号