实例1:update

USE [数据库名称]
GO
/****** Object: Trigger [dbo].[触发器名称] Script Date: 05/08/2014 12:40:25 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[T_触发器名称] ON [dbo].[表名称] 
FOR UPDATE
AS
DECLARE
@Id VARCHAR(32),
@remain_cost DECIMAL(10,3),
@remain_flow DECIMAL(10,3),
@valid_time DATETIME;

BEGIN
SET XACT_ABORT ON

BEGIN TRANSACTION
--SELECT @Id = customer_no, @remain_cost = Balance,@remain_flow = (MAX_VOLUME - USED_VOLUME) FROM INSERTED;
  --insert openrowset('MSDASQL','smysql';'root';'123456','select * from mysql_authon.Consumer ') values(@Id,......)
SELECT @Id = customer_no, @remain_cost = Balance,@remain_flow = (MAX_VOLUME - USED_VOLUME) FROM INSERTED;
-- SET @Id = (SELECT customer_no FROM INSERTED);
-- SET @remain_cost = (SELECT Balance FROM INSERTED);
--SET @remain_flow = (SELECT (MAX_VOLUME - USED_VOLUME) FROM INSERTED);

-- 查询对本地复制
--SET @sql =
  -- SET @type = (SELECT * FROM OPENROWSET('MSDASQL','smysql';'root';'123456','SELECT UserType_id FROM .... @Id'))  
  -- SET @base_cost = (SELECT * FROM OPENROWSET('MSDASQL','smysql';'root';'123456','SELECT Consumer_basecost FROM .... @Id'))  
  -- DELETE FROM OPENROWSET('MSDASQL','smysql';'root';'123456','select * from ....= @Id ') 
  -- INSERT openrowset('MSDASQL','smysql';'root';'123456','select * from mysql_authon.Consumer ') values(@Id,@type,.....)
  INSERT INTO 表名称 VALUES(@Id,.....);
COMMIT TRANSACTION
   END

实例2:insert

USE [数据库名称]
GO
/****** Object: Trigger [dbo].[触发器名称] Script Date: 05/08/2014 12:47:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[触发器名称] ON [dbo].[表名称] 
FOR INSERT
AS
DECLARE
@Id VARCHAR(16),
@remain_cost DECIMAL(10,3),
@remain_flow DECIMAL(10,3),
@valid_time DATETIME;

BEGIN
SET XACT_ABORT ON
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
BEGIN TRANSACTION
  SELECT @Id = customer_no........ FROM INSERTED;
 -- insert openrowset('MSDASQL','smysql';'root';'123456','select * from mysql_authon.Consumer ') values(@Id.....)
-- 将数据插入到插入用户临时表
  INSERT INTO dbo.transfer_data_insert_temp2 VALUES(@Id.....);
COMMIT TRANSACTION
-- Insert statements for trigger here
END

实例3 :delete

USE [数据库名称]
GO
/****** Object: Trigger [dbo].[触发器名称] Script Date: 05/08/2014 12:51:21 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[触发器名称] ON [dbo].[表名称] 
FOR DELETE
AS
DECLARE
@Id VARCHAR(16);
BEGIN
SET XACT_ABORT ON
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
BEGIN TRANSACTION
SELECT @Id = customer_no FROM deleted;
 -- insert openrowset('MSDASQL','smysql';'root';'123456','select * from mysql_authon.Consumer ') values(@Id,....)
-- 将数据插入到插入用户临时表
  INSERT INTO dbo.表名称 VALUES(@Id);
COMMIT TRANSACTION
-- Insert statements for trigger here
END

sqlserver 触发器实例的更多相关文章

  1. sqlserver 触发器实例代码

    定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序.触发器是一个特殊的存储过程. 常见的触发器有三种:分别应用于Insert , Update ...

  2. SQL触发器实例讲解

    SQL触发器实例1 定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序.触发器是一个特殊的存储过程. 常见的触发器有三种:分别应用于Inser ...

  3. SQLServer触发器

    触发器的作用: 自动化操作,减少了手动操作以及出错的几率. 触发器是一种特殊类型的存储过程,它不同于前面介绍过的一般的存储过程. [在SQL内部把触发器看做是存储过程但是不能传递参数] 一般的存储过程 ...

  4. SQL触发器实例

    SQL触发器实例讲解(本文是来自百度文库) 备注:本人建了一个站特价汇,我想记录每个商品的点击量,然后按照点击量来牌名商品,想要提高效率,所以必须得用触发器,下面是本人在百度文库中的找到的学习资料,分 ...

  5. [SQL SERVER系列]存储过程,游标和触发器实例[原创]

    自己写的存储过程与游标结合使用的实例,与大家分享,也供自己查阅,仅供参考: --使用游标循环处理,删除重复的记录 declare @UserID int ) ) declare @UnitFlag i ...

  6. JDBC连接自定义sqlserver数据库实例名(多个实例)

    java语言中,通过jdbc访问sqlserver2005(2008)数据库默认实例可以按常用的写法来写url连接.代码如下: <span style="font-size:12px; ...

  7. SQL触发器实例(下)

    基本语法: Create Trigger [TriggerName] ON [TableName] FOR [Insert][,Delete][,Update] AS --触发器要执行的操作语句. G ...

  8. PL/SQL之存储过程和触发器实例

    1.Oracle存储过程实例 /*不带任何参数存储过程(输出系统日期)*/ CREATE OR REPLACE PROCEDURE output_date IS BEGIN DBMS_OUTPUT.P ...

  9. SqlServer触发器的理解

    SqlServer触发器是与表事件相关的特殊存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发.比如当对一个表进行操作( insert,delete, update)时就会激活它执行. ...

随机推荐

  1. python3之面向对象编程理解

    面向对象主要有三个特征:封装,继承,多态度. 一.封装 定义类语 class Animal(): class为定义类的关键字,后面跟名字(): python命名规范建议:类一般首字母单词大写,属性变量 ...

  2. 配置和查看composer镜像

    composer 默认地址改为中国镜像地址,以及中国镜像地址还原成默认地址 一.查看当前镜像地址 在命令行输入如下命令,即可查看全局镜像地址: $ composer config -g repo.pa ...

  3. lumen添加自定义异常

    在公用工具类写异常类 <?php namespace Brady\Tool\Exception; use Brady\Tool\Constant\ErrorMsg; use \Exception ...

  4. js 递归获取子节点所有父节点,深度遍历获取第一个子树

    前端需求. 递归 深度优先遍历算法 // 查找一个节点的所有父节点 familyTree (arr1, id) { var temp = [] var forFn = function (arr, i ...

  5. c# 接口实现

  6. 【DRF框架】restfull规范

    零:核心思想: 1.面对资源编程 2.根据HTTP请求方式的不同对资源进行不同的操作 一.协议 API与用户的通信协议,总是使用HTTPs协议. 二.域名 应该尽量将API部署在专用域名之下. htt ...

  7. WMware Workstation——时间和时区问题

    对于学习Linux的人来说,最常见的做法就是在WMware Workstation下安装Linux系统.在WMware Workstation可能会有几处导致时间.时区问题. UTC时间导致时间不一致 ...

  8. 关于MQ的几件小事(一)消息队列的用途、优缺点、技术选型

    1.为什么使用消息队列? (1)解耦:可以在多个系统之间进行解耦,将原本通过网络之间的调用的方式改为使用MQ进行消息的异步通讯,只要该操作不是需要同步的,就可以改为使用MQ进行不同系统之间的联系,这样 ...

  9. unity之龙骨动画

    推荐阅读:  我的CSDN  我的博客园  QQ群:704621321  我的个人博客 做游戏有史以来,第一次接触到龙骨动画,为新人引个路吧. (1)首先拿到美术给我三个文件,分别是name_ske. ...

  10. 文件读写(二)利用SteamReader和StreamWrite类处理字符串、FileSystemWatcher、BinaryReader/BinaryWriter

    一.读写类: TextReader/TextWriter:文本读写,抽象类 TextReader,其派生类: StreamReader:以一种特定的编码从字节流中读取字符. StringReader: ...