请教Sql Server 触发器的一个问题

问题描述

需求是 : 若A表发生insert,update操作,则往B表中写入A表刚被insert或者update的记录的c字段。问题 : insert时的语法怎么写??这是我的sql:create trigger tempTrion Afor insert,update asbegininsert into B values (A.c); --这样写不行,提示()中不能放列-- update B set c = a.c from A a; 这种update写法没问题 但不能满足需求end

解决方案

//增加create trigger tempTri on A for insert as begin insert into B (c) values (select c from inserted); end //修改create trigger tempTri2 on A for update as if Update(c) begin Update B Set br.c=i.c From B , Deleted d ,Inserted i Where br.c=d.cend

时间: 2024-08-02 17:56:45

请教Sql Server 触发器的一个问题的相关文章

sql server合并另一个表的列

问题描述 sql server合并另一个表的列 现在我的数据库里有两个表 A表里面有城市,日期属性 B表里面有城市,日期,天气属性 A表里的日期是具体的,比如3月30日 B表里列举出了所有城市所有每一天的天气,比如从1月1日到5月1日的每一天是什么天气 现在我需要将B表里的天气属性合并到A表中 并且日期和城市对应 用sql语句怎么实现? 解决方案 select A.城市,A.日期,B.天气 from A left join B on A.城市 = B.城市 and A.日期 =B.日期 解决方案

SQL Server触发器

触发器可以做很多事情,但也会带来很多问题.使用它的技巧在于在适当的时候使用,而不要在不适当的时候使用它们. 触发器的一些常见用途如下: 弹性参照完整性:实现很多DRI不能实现的操作(例如,跨数据库或服务器的参照完整性以及很多复杂的关系类型). 创建神级跟踪:这意味写出的记录不仅跟踪大多数当前的数据,还包括对每个记录进行实际修改的历史数据.随着SQL Server2008中的更改数据跟踪功能的出现,创建审计跟踪不再那么流行,但以前使用的就是触发器. 执行与CHECK约束类似的功能,但是跨表,跨数据

SQL SERVER 触发器介绍_MsSql

触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程.触发器主要是通过事件进行触发被自动调用执行的.而存储过程可以通过存储过程的名称被调用. Ø 什么是触发器 触发器对表进行插入.更新.删除的时候会自动执行的特殊存储过程.触发器一般用在check约束更加复杂的约束上面.触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作.诸如:update.insert.delete这些操作的时候,系统会自动调用执行该表上对应的触发器.SQL Server 2005中触发器可以分为两类:DM

Sql Server 触发器实现多表之间同步增加、删除与更新

Sql Server 触发器实现多表之间同步增加.删除与更新 定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序.触发器是一个特殊的存储过程.      常见的触发器有三种:分别应用于Insert , Update , Delete 事件.(SQL Server 2000定义了新的触发器,这里不提)      我为什么要使用触发器?比如,这么两个表:      Create Table Student(             --学生表

SQL Server触发器insert update delete示例

·只有inserted表有数据时,当前操作为insert: ·inserted和deleted两张表都有数据时,当前操作为update: ·只有deleted表有数据时,当前操作为delete. 创建触发器用 CREATE TRIGGER  代码如下 复制代码 CREATE TRIGGER 触发器名称 ON 表名 FOR INSERT.UPDATE 或 DELETE AS nserted.deleted 这是两个虚拟表,inserted 保存的是 insert 或 update 之后所影响的记录

SQL Server 触发器实例详解_MsSql

Microsoft SQL Server 2000 提供了两种主要机制来强制业务规则和数据完整性:约束和触发器.触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程.触发器主要是通过事件进行触发被自动调用执行的.而存储过程可以通过存储过程的名称被调用. Ø 什么是触发器 触发器对表进行插入.更新.删除的时候会自动执行的特殊存储过程.触发器一般用在check约束更加复杂的约束上面.触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作.诸如:update.insert.delet

SQL Server返回最后一个标识值的三个函数:IDENT_CURRENT、@@IDENTITY、SCOPE_IDENTITY

昨天有人在群里讨论SQL Server返回最后一个标识值的三个函数:IDENT_CURRENT.@@IDENTITY.SCOPE_IDENTITY,在些作个标记和小结. 其实MSDN对此有官方解释:这三个函数都返回最后生成的标识值. 但是,上述每个函数中定义的"最后"的作用域和会话有所不同. 1.IDENT_CURRENT 返回为某个会话和当前作用域中的指定表生成的最新标识值. 如果 IDENT_CURRENT 值为 NULL(因为表从未包含行或已被截断),IDENT_CURRENT

SQL Server触发器及触发器中的事务学习_MsSql

如果你有对触发器和事务的概念,有些了解,这篇文章,对你来说会是很简单,或能让你更进一步的了解触发器里面的一些故事,和触发器中事务个故事.在这边文章里面,我不会从触发器和事务的概念去讲述,而是从常见的两种触发器类型(DML触发器 & DDL触发器)和After触发器 &  Instead Of 触发器的应用不同,开始说起它们,然后是说与事务有关的故事.如果,你有什么建议和意见,都可以通过文章后面的回复与我沟通,或者通过E-Mail方式,与 我交流:我的Email地址是:glal@163.co

SQL Server 触发器实例详解

Microsoft SQL Server 2000 提供了两种主要机制来强制业务规则和数据完整性:约束和触发器.触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程.触发器主要是通过事件进行触发被自动调用执行的.而存储过程可以通过存储过程的名称被调用. Ø 什么是触发器 触发器对表进行插入.更新.删除的时候会自动执行的特殊存储过程.触发器一般用在check约束更加复杂的约束上面.触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作.诸如:update.insert.delet