sql 触发器-sql两个触发器针对同一表的同一个字段

问题描述

sql两个触发器针对同一表的同一个字段
sql表table中有两个触发器:trigger1和trigger2,都是针对table中的code字段,该表中还有一个type字段,现在我想实现这样的功能,在插入时,如果type=0,那么触发trigger1对code字段修改,如果type=1那么触发trigger2对code字段修改,两个触发器不能合并成一个触发器的

时间: 2024-08-24 19:15:04

sql 触发器-sql两个触发器针对同一表的同一个字段的相关文章

检查两个数据库里的表名、字段是否一致的一种方法

不知道大家有没有遇到过这种情况. 程序已经给客户安装上了,并且客户已经录入了一些信息,然后程序还需要作比较大的变动(修改功能.增加模块等),数据库就不可避免要做一些改动. 但是这时候已经不能把客户的数据库删掉,换上新的数据库了.只能用添表.添字段的方式了. 如果修改程序的时候做了详细的文档的话,那么就可以按照文档来修改数据库了,但是如果没有文档,或者文档记录的不全,或者修改完成之后想检查一下有没有"漏网之鱼".那么这时候应该怎么办呢?难道要一个一个的检查?! 我们可以使用两个视图和几个

浅谈sql server的存储过程和触发器

一.存储过程 1.存储过程的分类 存储过程是一种数据库对象,存储在数据库内,可由应用程序通过一个调用执行,而且 允许用户声明变量.有条件执行,具有很强的编程功能 存储过程可以分为两类:系统存储过程.用户存储过程和扩展性存储过程 1).系统存储过程 系统存储过程是由SQL Server系统提供的存储过程,可以作为命令执行各种操作. 系统存储过程主要用来从系统表中获取信息,为系统管理员管理SQL Server提供帮助, 为用户查看数据库对象提供方便. 系统存储过程定义在系统数据库master中,其前

MS SQL基础教程:管理触发器

如果要显示作用于表上的触发器究竟对表有哪些操作,必须查看触发器信息.在MS SQL Server 中,有多种方法查看触发器信息.在本节我们将介绍两种常用的方法,即通过MS SQL Server 的管理工具 Enterprise Manager 以及系统存储过程sp_help sp_helptext 和sp_depends. 12.11.1 使用Enterprise Manager 显示触发器信息 使用Enterprise Manager 显示触发器信息其操作步骤如下: (1) 运行Enterpr

MS SQL基础教程:创建触发器

上面介绍了有关触发器的概念.作用和一些基本问题,下面我们将分别介绍在MS SQLServer 中如何用SQL Server 管理工具Enterprise Manager 和Transaction_SQL 来创建触发器. 在创建触发器以前必须考虑到以下几个方面: CREATE TRIGGER 语句必须是批处理的第一个语句: 表的所有者具有创建触发器的缺省权限,表的所有者不能把该权限传给其它用户: 触发器是数据库对象,所以其命名必须符合命名规则: 尽管在触发器的SQL 语句中可以参照其它数据库中的对

SQL Server 2000中的触发器使用_MsSql

下面我摘录了SQL Server官方教程中的一段关于触发器的文字,确实有用的一点文字描述. 可以定义一个无论何时用INSERT语句向表中插入数据时都会执行的触发器. 当触发INSERT触发器时,新的数据行就会被插入到触发器表和inserted表中.inserted表是一个逻辑表,它包含了已经插入的数据行的一个副本.inserted表包含了INSERT语句中已记录的插入动作.inserted表还允许引用由初始化INSERT语句而产生的日志数据.触发器通过检查inserted表来确定是否执行触发器动

SQL Server 2000中的触发器使用

下面我摘录了SQL Server官方教程中的一段关于触发器的文字,确实有用的一点文字描述. 可以定义一个无论何时用INSERT语句向表中插入数据时都会执行的触发器. 当触发INSERT触发器时,新的数据行就会被插入到触发器表和inserted表中.inserted表是一个逻辑表,它包含了已经插入的数据行的一个副本.inserted表包含了INSERT语句中已记录的插入动作.inserted表还允许引用由初始化INSERT语句而产生的日志数据.触发器通过检查inserted表来确定是否执行触发器动

SQL Server 2005中DDL触发器的实现

SQL SERVER 2005中,新增加了许多新的特性,其中的DDL触发器是个不错的选择,根据资料初步学习如下,现整理之. 在sql server 2000中,只能为针对表发出的 DML 语句(INSERT.UPDATE 和 DELETE)定义 AFTER 触发器.SQL Server 2005 可以就整个服务器或数据库的某个范围为 DDL 事件定义触发器. 可以为单个 DDL 语句(例如,CREATE_TABLE)或者为一组语句(例如,DDL_DATABASE_LEVEL_EVENTS)定义

sql server-数据库触发器问题,为什么触发器会出现错误

问题描述 数据库触发器问题,为什么触发器会出现错误 create trigger 月工资变动 after update on 考勤 referencing oldrow as oldtuple, newrow as newtuple for each row begin if(oldtuple.一月份缺勤扣薪 != newtuple.一月份缺勤扣薪) then update 员工月工资 set 一月份工资=一月份工资-newtuple.一月份扣薪+oldtuple.一月份扣薪 where old

SQL Server误区30日谈 第4天 DDL触发器就是INSTEAD OF触发器_MsSql

误区 #4: DDL触发器(SQL Server 2005之后被引入)就是INSTEAD OF触发器 这是错误的     DDL触发器的实现原理其实就是一个AFTER触发器.这个意思是先发生DDL操作,然后触发器再捕捉操作(当然如果你在触发器内写了Rollback,则也可能回滚).     存在Rollback也意味着这个触发器并不像你想象的那么轻量,来看下面的例子:     ALTER TABLE MyBigTable ADD MyNewNonNullColumn VARCHAR (20) D