SQL server 2008 触发器

问题描述

SQL server 2008 触发器

sql server 中创建触发器,当表中的任意一列的数据更新时除了read_flag,将read_flag的置为0,这个触发器怎么写,
CREATE TRIGGER trig_wmwhse4_SKU
on wmwhse4.SKU
instead of update
as
begin
if
(exists (select 1 from inserted a ,deleted b where a.STORERKEY = b.STORERKEY and a.SKU = b.SKU and a.read_flag=b.read_flag ))
update SKU set SKU.read_flag='0'
where not exists (select 1 from deleted c where c.storerkey = sku.STORERKEY and c.SKU = sku.SKU and c.read_flag=sku.read_flag );
end;
我这样写,但是在更新read_flag时也会触发,怎样才能保证更新read_flag不触发呢?

解决方案

触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程。触发器主要是通过事件进行触发被自动调用执行的。而存储过程可以通过存储过程的名称被调用。

? 什么是触发器

??? 触发器对表进行插入、更新、删除的时候会自动执行的特殊存储过程。触发器一般用在check约束更加复杂的约束上面。触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作。诸如:update、insert、d......
答案就在这里:sql server2008 触发器

时间: 2024-11-01 03:24:03

SQL server 2008 触发器的相关文章

sql server 2008触发器

问题描述 sql server 2008触发器 当我添加一条数据时,如果数据库有和添加的数据编号一致时视为修改否则为添加,触发器怎么实现 解决方案 这需要用到触发器?做个查询就可以解决的事,为什么要用触发器... 能先理触发器的作用吗? 网上找了一个给你..http://www.jb51.net/article/23895.htm 解决方案二: 弄一个check约束! 解决方案三: 触发器太费资源了,可以用约束来替代 解决方案四: 约束能做的就不要用触发器了, 你的数据库如果数据都是十几万级以上

sql server 2008 r2 触发器配置

问题描述 sql server 2008 r2 触发器配置 我按照书上的编写了触发器,但是总是提示语法错误. create trigger Trig_deny on 系别信息 after insert as begin raiserror('该操作不允许执行,拒绝插入信息!') end 提示:raiserror('该操作不允许执行,拒绝插入信息!') 这行 ')' 附近有语法错误. 请教各位大神怎么办啊? 解决方案 SQL Server 2008 R2镜像配置 一.准备工作 1.三台装有sql

SQL Server 2008中的代码安全(二) DDL触发器与登录触发器_mssql2008

本文主要 涉及DDL触发器和登录触发器的应用实例. MicrosoftSQL Server 提供两种主要机制来强制使用业务规则和数据完整性:约束和触发器.触发器为特殊类型的存储过程,可在执行语言事件时自动生效.SQL Server 包括三种常规类型的触发器:DML 触发器.DDL 触发器和登录触发器. 1.当数据库中发生数据操作语言 (DML) 事件时将调用 DML 触发器.DML 事件包括在指定表或视图中修改数据的 INSERT 语句.UPDATE 语句或 DELETE 语句.DML 触发器可

SQL Server 2008的策略管理新特性

策略管理是SQL Server 2008中的一个新特性,用于管理数据库实例.数据库以及数据库对象的各种属 性.策略管理在SSMS的对象资源管理器数据库实例下的"管理"节点下,如图: 从图中可以看到,策略管理中包含三个节点:策略.条件.方面. 方面就是策略要应用的对象,包括:服务器.表.触发器.视图.存储过程--这些方面对象都是系 统定义好了的,仅供瞻仰不可更改.双击具体的某一个方面可以查看该方面的属性,在定义条件时即可对 这些属性进行判断,如图为存储过程方面的属性. 条件就是一个布尔表

SQL Server 2008关系数据库引擎的新增功能

在SQL Server 2008中,关系数据库引擎的新增功能相对较多,本文将主要针对应用开发人员和数据库 管理员比较关心的新增特性进行详细的说明. 与开发人员相关的新增特性: Change Data Capture (CDC):变化数据捕获,可以捕获SQL Server数据表中的新增.修改和更新,并 以一种易于使用的格式提供.CDC是SQL Server 2008中新增的一项非常重要的功能,在BI应用中从业务数 据库抽取更新数据到数据仓库时非常有用.随后会有专文介绍CDC. DDL Trigge

SQL Server 2008 R2 性能计数器详细列表(三)

原文:SQL Server 2008 R2 性能计数器详细列表(三) SQL Server,Deprecated Features 对象: 监视指定为不推荐使用的功能: SQL Server Deprecated Features 计数器实例 说明 "#"和"##"作为临时表和存储过程的名称 遇到不包含 # 以外的任何字符的标识符.请至少使用一个其他字符.每次编译时发生. "::"函数调用语法 表值函数遇到 :: 函数调用语法.请替换为 SELE

SQL Server 2008新特性——更改跟踪

在大型的数据库应用中,经常会遇到部分数据的脱机和多个数据库的合并问题.比如现在有一个全省范围使用的应用程序,每个市都部署了单独的相同的应用程序服务器和数据库服务器,每个月需要将全省所有市的数据全部汇总起来用于出全省的报表,这是一种很常见的数据库合并问题.再比如我们做了一个SmartClient的应用程序,每个客户端都有应用程序和数据库,另外还有一个中心数据库用于汇总所有客户端的数据.每个智能客户端上都可以对自己的数据库进行增删改查,一旦智能客户端连接到网络上时,系统就将客户端数据库中的数据更改全

出错-SQL Server 2008 执行UPDATE成功后查询不到执行的结果

问题描述 SQL Server 2008 执行UPDATE成功后查询不到执行的结果 平台:SQL Server 2008 R2,Windows Server 2008 执行内容: UPDATE [TAB_CHANGE] SET [STATUS] = 1 WHERE [TABNAME] = 'ITEM' select * from TAB_CHANGE where STATUS = 1 如果在查询分析器中选中两个SQL一起执行,就有结果集,显示更新成功了,但是如果单独执行第一句,在控制台可以看到"

erver 2008 写入很大-SQL Server 2008 I/O写入很大

问题描述 SQL Server 2008 I/O写入很大 客户端访问数据库,对数据库进行查询插入操作,无法执行成功,进资源监视器查看,发现sqlservr.exe进程磁盘写入达120兆字节/秒,求大神帮帮忙,感激不尽. 解决方案 Link:How should I Install SQL Server 2008 Express Edition There are two options for installing SQL Server 2008 Express. 1. Basic: Choos