SQL Server 触发器 表的特定字段更新时,触发Update触发器_MsSql

复制代码 代码如下:

create trigger TR_MasterTable_Update
on MasterTable
after update
as
if update ([Type])--当Type字段被更新时,才会触发此触发器
insert into MasterLogTable
select
Id
,(Case [Type] when 1 then 'Type1'
when 2 then 'Type2'
when 3 then 'Type3'
when 4 then 'Type4'
else 'TypeDefault'
end)
,Name
from inserted
go

另外再补充一句:insert和update的数据都会保存在临时表中,所以使用inserted可以取出这些数据,删除时使用deleted可以取出被删除的数据
转载请标明出处:http://blog.csdn.net/tjvictor

时间: 2025-01-30 19:56:12

SQL Server 触发器 表的特定字段更新时,触发Update触发器_MsSql的相关文章

SQL Server 触发器 表的特定字段更新时,触发Update触发器

复制代码 代码如下: create trigger TR_MasterTable_Update on MasterTable after update as if update ([Type])--当Type字段被更新时,才会触发此触发器 insert into MasterLogTable select Id ,(Case [Type] when 1 then 'Type1' when 2 then 'Type2' when 3 then 'Type3' when 4 then 'Type4'

SQL Server修改表结构后批量更新所有视图

最近修改了数据库表结构,数据同步的时候出了问题,发现很多数据明明已经修改,但是通过视图筛选出来的还是原来的数据,所以怀疑应该是视图缓存了数据,在园子里找到下面的博文,在这里做个记录备忘.   原文链接:http://www.cnblogs.com/yashen/archive/2004/12/23/81000.html   我们在使用SqlServer时经常遇到这种情况,当修改某个表的结构后,相关的视图就不对了而导致程序错误,因此就有个下面这个存储过程. CREATE PROCEDURE Ref

sql server建表时设置ID字段自增的简单方法

打开要设置的数据库表,点击要设置的字段,比如id,这时下方会出现id的列属性表 列属性中,通过设置"标识规范"的属性可以设置字段自增,从下图上看,"是标识"的值是否,说明id还不是自增字段 能够设置ID字段自增的字段必须是可自增的,比如int,bigint类型,而varchar类型是不可自增的.比如查看name的列属性时,可以看到"是标识"是否且不可更改. 点击"标识规范",展开后,点击"是标识"会出现下拉

SQL Server 判断表中是否存在某字段

原文:SQL Server 判断表中是否存在某字段 功能:判断表中是否存在某字段,若不存在,则新增该字段 语句: IF NOT EXIST (SELECT 1 FROM [DATABASE].SYS.SYSCOLUMNS WHERE ID=OBJECT_ID([DATABASE].[SCHEMA].[TABLENAME]) AND NAME='COLUMN_NAME') ALTER TABLE [TABLENAME] ADD [COLUMN_NAME] [COLUMN_TYPE]   p.s.

SQL Server系统表sysobjects介绍与使用

原文:SQL Server系统表sysobjects介绍与使用 关于SQL Server数据库的一切信息都保存在它的系统表格里.我怀疑你是否花过比较多的时间来检查系统表格,因为你总是忙于用户表格.但是,你可能需要偶尔做一点不同寻常的事,例如数据库所有的触发器.你可以一个一个地检查表格,但是如果你有500个表格的话,这可能会消耗相当大的人工. 这就让sysobjects表格有了用武之地.虽然我不建议你更新这个表格,但是你当然有权对其进行审查. sysobjects 表 在数据库内创建的每个对象(约

SQL Server删除表及删除表中数据的方法

本文介绍SQL Server中如何删除表,如何删除表中的数据.在删除表数据时有delete和truncate两种方法,delete和truncate有什么区别呢? SQL Server,我们现在基本上使用的最古老的版本应该是SQL Server 2000吧,应该没有更早的版本了吧?!从SQL Server 2000开始,到SQL Server 2005,2008,2012等,T-SQL的处理能力越来越强.今天我们就来说说如何使用T-SQL脚本来删除表,以及删除表中的数据. 删除表和删除表数据这是

SQL提取数据库表名及字段名等信息代码示例

本文向大家介绍了使用SQL语句提取数据库所有表的表名.字段名的实例代码,在SQLserver 中进行了测试,具体内容如下: --查询所有用户表所有字段的特征 SELECT D.Name as TableName, A.colorder AS ColOrder, A.name AS Name, COLUMNPROPERTY(A.ID,A.Name, 'IsIdentity') AS IsIdentity, CASE WHEN EXISTS (SELECT 1 FROM dbo.sysobjects

SQL 某张表中每个字段占用的空间

问题描述 SQL 某张表中每个字段占用的空间 比如表 Student 含有字段 ID**Name****Class****Tel**那么我现在想知道**Name**这个字段下的数据占了多少空间,**Class**这个字段下的数据又占了多少空间 解决方案 这个与你的字段的数据类型有关系啊 如果是VARCHAR(MAX)的话 你的字符串是多少位 就占据多少的空间 如果INT的话 是4位 解决方案二: 取决于你所定义的字段类型,不同的数据库稍有差别.

jsp连sql server获取表中的某个值 并连接这个值的数据库

问题描述 jsp连sql server获取表中的某个值 并连接这个值的数据库 目前是连接到一个数据库A 根据A里的表判断登陆 但这个表里还有一个数据库B的连接字符串 类似这样 Server=192.27.94.10,11008;database=C_Model;user id=User;pwd=Pwd;Connect Timeout=30 怎么获取这个表内的字符串并连接到这个数据库B 解决方案 jsp连接sql server2005?(经测试连接成功)?? 接触Java或者JSP,难免会使用到数