WEB开发网
开发学院数据库MSSQL Server SQL Server数据库技术(78) 阅读

SQL Server数据库技术(78)

 2007-11-11 08:24:47 来源:WEB开发网   
核心提示:在以上部分我们讨论了触发器的优缺点、工作原理以及创建触发器的具体方法,接下来我们将阐述各种不同复杂程度的触发器的应用,SQL Server数据库技术(78),12.9.1 插入型触发器的应用(WINDOWS平台上强大的数据库平台)数据库技术(78)(图一)" />(WINDOWS平台上强大的数据库平台)数据库

 在以上部分我们讨论了触发器的优缺点、工作原理以及创建触发器的具体方法。接下来我们将阐述各种不同复杂程度的触发器的应用。

12.9.1 插入型触发器的应用
sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台)数据库技术(78)(图一)" />sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台)数据库技术(78)(图二)" />

12.9.1 插入型触发器的应用

sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台)数据库技术(78)(图三)" />



  更新型触发器有两种类型:通常意义上的更新型触发器和用于检查列改变的更新型触发器,这主要是因为更新操作可以涉及到数据项。
通常意义上的更新型触发器;
在前面我们已经提到更新操作包括两个部分,先将需更新的内容从表中删除掉,然后插入新值。因此,更新型触发器同时涉及到删除表。和插入表下面结合具体例子来对其进行讨论。

sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台)数据库技术(78)(图四)" />


  在有些更新中,更新的内容并不是整个记录,而仅仅是一列或几列,这时就要用到用于检查列改变的更新型触发器。它与通常意义上的触发器不同之处主要表现在它包括以下保留字:

sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台)数据库技术(78)(图五)" />



  在用Transaction_SQL 的CREATE TRIGGER 命令创建触发器那部分我们已经给出上述保留字的具体含义。下面我们将给出两个例子,这两个例子分别用到了IF UPDATE(column) 和IF (COLUMNS_UPDATED()。

sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台)数据库技术(78)(图六)" />


  

sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台)数据库技术(78)(图七)" />



注意:必须首先删除与表title已建立主外键的各关系,上述触发器才能被触发。

sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台)数据库技术(78)(图八)" />

sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台)数据库技术(78)(图九)" />

sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台)数据库技术(78)(图十)" />


sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台)数据库技术(78)(图十)" />



12.9.4 嵌套触发器
  当某一触发器执行时,其能够触发另外一个触发器,这种情况称之为触发器嵌套。在MS sql server(WINDOWS平台上强大的数据库平台) 中触发器能够嵌套至32 层。如果不需要嵌套触发器,可以通过sp_configure选项来进行设置。

在执行过程中,如果一个触发器修改某个表,而这个表已经有其它触发器,这时就要使用嵌套触发器。

sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台)数据库技术(78)(图十二)" />

sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台)数据库技术(78)(图十三)" />


sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台)数据库技术(78)(图十四)" />

sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台)数据库技术(78)(图十五)" />




注意:必须删除与sales表已建立的各主外键关系,上面的触发器才能被触发。

 
 

1 2 3 4 5 6  下一页

Tags:SQL Server 数据库

编辑录入:coldstar [复制链接] [打 印]
赞助商链接