实例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. [#Linux] CentOS 7 配置JDK后,eclipse无法启动,提示jdk路径错误。

    ​​​​ 解决方案:在eclipse的目录下创建一个jre文件夹,在jre文件夹里创建一个jdk的bin目录的链接 1.进入到eclipse目录下,右键在终端打开. 2.创建jre目录:mkdir j ...

  2. spark 机器学习 knn 代码实现(二)

    通过knn 算法规则,计算出s2表中的员工所属的类别原始数据:某公司工资表 s1(训练数据)格式:员工ID,员工类别,工作年限,月薪(K为单位)       101       a类       8年 ...

  3. C++——多态性 与 虚函数

    多态性 多态性是面向对象程序设计的关键技术之一.若程序设计语言不支持多态性,不能称为面向对象的语言.利用多态性技术,可以调用同一个函数名的函数,实现完全不同的功能. 多态性(polymorphism) ...

  4. Python绘制混淆矩阵,汉字显示label

    1. 在计算出混淆矩阵之后,想自己绘制图形(并且在图形上显示汉字),可用 #coding=utf-8 import matplotlib.pyplot as plt import numpy as n ...

  5. 前端学习笔记--Visual Studio Code安装及中文显示

    1.在官网https://code.visualstudio.com/下载对应的版本: 2.安装 一路点击下一步,选中  添加到PATH后,安装. 安装成功,可以直接打开使用: 把界面改成中文显示: ...

  6. python_面向对象——反射

    1.反射 四个方法:getattr() 获取 class Person(): def __init__(self,name,age): self.name = name self.age = age ...

  7. MySQL之两张表关系查找例子

    teacher表 mysql> select * from teacher; +-----+--------+-----+---------+----------+ | tid | tname ...

  8. plsql工具使用

    作者:lhrbest 作者:张冲andy 作者:jack_孟

  9. 52、[源码]-Spring源码总结

    52.[源码]-Spring源码总结 总结 一.Spring容器在启动的时候,先会保存所有注册进来的Bean的定义信息: xml注册bean: 注解注册Bean:@Service.@Component ...

  10. 41、扩展原理-ApplicationListener用法

    41.扩展原理-ApplicationListener用法 ApplicationListener 监听容器中发布的事件.事件驱动模型开发: public interface ApplicationL ...