`
laozhou
  • 浏览: 36750 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

触发器编写的例子

Go 
阅读更多
USE [ei]
GO
/****** Object:  Trigger [dbo].[TRG_tbAccountKind_INSERT]    Script Date: 03/12/2011 09:07:09 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: laozhou
-- Create date: 2010,7,16
-- Description: 新增触发器,新增的相关信息保存到message表里面去。
-- =============================================
ALTER TRIGGER [dbo].[TRG_tbAccountKind_INSERT] ON [dbo].[tbAccountKind]
FOR INSERT
AS

DECLARE
  @MES_ID INT,
  @MES_DET_ID INT,
  @V_AccountKindNo INT,
  @V_AccountKindName VARCHAR(MAX),
  @V_ID UNIQUEIDENTIFIER,
  @V_RecordStatus INT,
  @V_UpdateTime DATETIME

BEGIN TRAN

SELECT @V_ID=ID,@V_AccountKindNo=AccountKindNo,@V_AccountKindName=AccountKindName,@V_RecordStatus=RecordStatus,@V_UpdateTime=UpdateTime FROM INSERTED;
    BEGIN
      
     SELECT @MES_ID=SEQ_VALUE FROM SEQUENCE WHERE SEQ_NAME='MES_SEQ'
INSERT INTO UDP_MESSAGES(MES_ID,DB_CON_FLAG,DAT_STA_SET_FLAG,MES_REPORT_TYPE,MES_CREATE_DATETIME,MES_REPORT_STATUS,MES_REPORT_DESC) VALUES(@MES_ID,'ei','tbAccountKind','ADD',GETDATE(),0,'等待上报')
UPDATE SEQUENCE SET SEQ_VALUE=@MES_ID+1 WHERE SEQ_NAME='MES_SEQ'

SELECT @MES_DET_ID=SEQ_VALUE FROM SEQUENCE WHERE SEQ_NAME='MES_DET_SEQ'

INSERT INTO UDP_MESSAGE_DETAIL(MES_DET_ID,MES_ID,MES_DET_UNIQUE,MES_DET_FIELD,MES_DET_VALUE) VALUES(@MES_DET_ID,@MES_ID,1,'AccountKindNo',@V_AccountKindNo);
UPDATE SEQUENCE SET SEQ_VALUE=@MES_DET_ID+1 WHERE SEQ_NAME='MES_DET_SEQ'
INSERT INTO UDP_MESSAGE_DETAIL(MES_DET_ID,MES_ID,MES_DET_UNIQUE,MES_DET_FIELD,MES_DET_VALUE) VALUES(@MES_DET_ID+1,@MES_ID,0,'AccountKindName',@V_AccountKindName);
UPDATE SEQUENCE SET SEQ_VALUE=@MES_DET_ID+2 WHERE SEQ_NAME='MES_DET_SEQ'
INSERT INTO UDP_MESSAGE_DETAIL(MES_DET_ID,MES_ID,MES_DET_UNIQUE,MES_DET_FIELD,MES_DET_VALUE) VALUES(@MES_DET_ID+2,@MES_ID,0,'ID',@V_ID);
UPDATE SEQUENCE SET SEQ_VALUE=@MES_DET_ID+3 WHERE SEQ_NAME='MES_DET_SEQ'
INSERT INTO UDP_MESSAGE_DETAIL(MES_DET_ID,MES_ID,MES_DET_UNIQUE,MES_DET_FIELD,MES_DET_VALUE) VALUES(@MES_DET_ID+3,@MES_ID,0,'RecordStatus',@V_RecordStatus);
UPDATE SEQUENCE SET SEQ_VALUE=@MES_DET_ID+4 WHERE SEQ_NAME='MES_DET_SEQ'
INSERT INTO UDP_MESSAGE_DETAIL(MES_DET_ID,MES_ID,MES_DET_UNIQUE,MES_DET_FIELD,MES_DET_VALUE) VALUES(@MES_DET_ID+4,@MES_ID,0,'UpdateTime',@V_UpdateTime);
UPDATE SEQUENCE SET SEQ_VALUE=@MES_DET_ID+5 WHERE SEQ_NAME='MES_DET_SEQ'

END
COMMIT TRAN;
    RETURN;

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    触发器编写例子

    新增触发器,修改触发器 ,帮助以后开发使用。

    数据库_SQL触发器实例讲解

    数据库触发器的应用,期中有许多不同的例子能够方便学习及尝试

    Oracle使用触发器和mysql中使用触发器的案例比较

    一、触发器  1.触发器在数据库里以独立的对象存储,  2.触发器不需要调用,它由一个事件来触发运行 ...二、Oracle 使用 PL/SQL 编写触发器 1.–PL/SQL创建触发器的一般语法 create [or replace] trigger trigg

    C#.net_经典编程例子400个

    第1章 窗体与界面设计 1 1.1 菜单应用实例 2 实例001 带历史信息的菜单 2 实例002 菜单动态合并 3 实例003 像开始菜单一样漂亮的菜单 4 实例004 任务栏托盘菜单 5 实例005 可以拉伸...

    OraclePLSQL编程经典例子

    块(block)是pl/sql的今本程序单元,编写pl/sql程序实际上就是在编写pl/sql块;pl/sql块由三部分组成:定义部分,执行部分,例外处理部分。 declare --可选部分 /*定义部分:定义常量,变量,游标,例外,复杂数据...

    ASP.NET完全入门

    第三章编写 global.asa 第四章Application和Session 第五章安全访问控制 第五篇Web Service 第一章Web service 简介 第二章一个简单的Web Service案例 第三章数据交换 第四章存取站点对象 第六篇性能优化 第七篇高级...

    [数据库系统基础教程].(美)Jeffrey.D.Ullman.中文扫描版

    ◆ 解释了sql是如何通过jdbc(java)和sql cli(odbc)与现代宿主语言交互作用的、涵盖对于数据库设计者和使用者十分重要的若干高级论题,包括完整性约束、触发器、事务、授权、sql—99递归,等等。 ◆ 通过主页...

    asp.net 完全入门

    第三章 编写global.asa 第四章 Application和Session 第五章 安全访问控制 第五篇 Web Service 第一章 Web service简介 第二章 一个简单的Web Service案例 第三章 数据交换 第四章 存取站点对象 第六篇...

    ASP.NET完全入门PDF

    小结第二章 配置Config.web 第三章编写global.asa 第四章Application和Session 第五章安全访问控制第五篇 Web Service 第一章Web service简介 第二章 一个简单的Web Service案例第三章 数据交换第四章 存取站点对象...

    武汉大学国际软件学院 《数据库课程设计》实验任务书 —— 实验七

    (5) 学会使用JDBC调用接口对数据库进行简单的操作,要求实现的操作包括:创建表、修改表结构、插入数据、更新表中的数据、删除数据、简单的查询操作、复杂查询操作、创建存储过程、触发器等; (6) 在实现(4)中...

    Ignis - Interactive Fire - URPHDRP 2.1.7

    特点: 轻松设置!... 定制火焰! 自定义颜色、长度、燃烧时间、活泼度、及烟雾等。 支持固体3d对象、植被和带... 所有的代码都是用C#来编写的,图形是用Unity的图形编辑器制作的,所以你可以完全根据自己的需求来定制它们。

    vitis-scripting-example:Vitis脚本编制工作流的示例和模板项目

    附加到虚拟(PCIe)JTAG探针并设置ILA触发器 加载捕获的ILA波形 示例项目 该项目的数据流如下: krnl_feeder =(ms2b,ls2b)=> krnl_dual_fifo =(ms2b,ls2b)=> krnl_poller 而krnl_feeder和krnl_poller通过OpenCL DMA...

    php网络开发完全手册

    2.5.1 简单的表达式例子 36 2.5.2 表达式的分类 36 2.5.3 算术操作表达式 36 2.5.4 字符串操作表达式 38 2.5.5 逻辑操作表达式 38 2.5.6 比较操作表达式 39 2.5.7 位操作表达式 40 2.5.8 运算符的优先级 41 2.6 特殊...

    pgsql-http:PostgreSQLHTTP客户端,从数据库内部检索网页

    PostgreSQL HTTP客户端动机能够编写一个称为Web服务的触发器不是很好吗? 是要获取结果,还是要使该服务针对数据库的新状态刷新自身? 此扩展用于此。例子 SELECT urlencode( ' my special string ' ' s & things? '...

    .Net.Framework3.5开发技术详解

    通过不同层次的例子,相信可以让读者理解、掌握.NET程序开发,特别是关于WPF、WCF和WF这3种重要框架的应用所要掌握的知识。 目录 第1章 .NETFramework3.5 简介 1.1.NETFramework3.5 在.NET技术体系中的位置 1.2...

    SQL Server 2008数据库设计与实现

     4.1.2 避免编写不必要的代码  4.1.3 给表瘦身  4.1.4 最大化聚集索引的使用  4.1.5 降低每张表中索引的数量  4.2 规范化应该走多远  4.3 规范化过程  4.4 实体和属性的形式:第一范式  4.4.1 所有...

    sticky-sidebar-v2:用于制作智能和高性能粘性侧边栏的纯JavaScript工具

    该项目是由编写的原始。 由于原始项目当前处于非活动状态,因此此分支旨在恢复项目并添加一些改进。例子有关完整的文档和示例,请参见为什么粘性侧边栏是如此出色? 滚动时,它不会重新计算所有尺寸,而只是重新...

    .Net.Framework3.5开发技术详解[中文][PDF][VOL1]

    7.4 样式触发器 174 7.5 控件模板 180 7.6 主题 182 第8章 WPF的绘图功能 189 8.1 2D图形基础 189 8.2 2D几何图形 190 8.3 画刷和画笔 197 8.3.1 画刷 197 8.3.2 画笔 204 8.4 2D图形变换(Transform) 205 8.4.1 平移...

Global site tag (gtag.js) - Google Analytics