当前位置: 首页 > news >正文

sql server解发器例子

--    Deleted表存放由于执行Delete或Update语句而要从表中删除的所有行。
--            Inserted表存放由于执行Insert或Update语句而要向表中插入的所有行。

CREATE TABLE  ent
(
id INT IDENTITY(1,1),
percess     DECIMAL(5,2) DEFAULT 0.00,
t_mony DECIMAL(5,2),
t_count DECIMAL(4,2)
)
GO
CREATE TABLE  ent_log
(
id INT IDENTITY(1,1),
idd VARCHAR(20)
)
GO

INSERT INTO ent(t_mony, t_count)VALUES(11.11,0.11);
INSERT INTO ent(t_mony, t_count)VALUES(22.11,0.11);
INSERT INTO ent(t_mony, t_count)VALUES(24.11,0.11);
SELECT * FROM ent;

 SELECT * FROM sysobjects WHERE
        type = 'TR'



create trigger entinsert on ent
FOR insert as
UPDATE ent SET percess =inserted.t_mony*inserted.t_count FROM INSERTED  , ent t WHERE INSERTED.id= t.id
 GO
 
 INSERT INTO ent(t_mony, t_count)VALUES(100.0,1.120);
SELECT * FROM ent;
DELETE FROM ent WHERE id=3
 ---测试完成
-- DROP TABLE ent ;
-- DROP TRIGGER entinsert
 --DROP TRIGGER[Battery_Updated]
--DROP TRIGGER tri_Topic_Delete
 CREATE TRIGGER [dbo].[Battery_Updated]
   ON  [dbo].ent
   INSTEAD OF UPDATE
AS
UPDATE ent SET percess =-inserted.t_mony*inserted.t_count FROM INSERTED  , ent t WHERE INSERTED.id= t.id
GO
----测试
UPDATE ent
SET
    t_mony = 100.22
WHERE id=2
SELECT * FROM ent;
-----


CREATE TRIGGER dbo.tri_Topic_Delete ON ent
FOR DELETE
AS
BEGIN
   
    DECLARE @key VARCHAR(20)    
    SELECT @key = t_mony+'22' FROM deleted
   INSERT INTO ent_log
   (
   
       idd
   )
   VALUES
   (
 @key
   )
END

---测试
DELETE FROM ent WHERE id=5;
SELECT
    id,
    percess,
    t_mony,
    t_count
FROM
    ent
    
    
    SELECT
*
FROM
    ent_log

转载于:https://www.cnblogs.com/window5549-accp/archive/2011/07/20/2111738.html

相关文章:

  • 站点跨域登录
  • “最美店主”走红网络,或成国内欧美第一店
  • 关于表结构设计(将一大表分解成多个小表)
  • VC++学习(4):简单绘图
  • 窗体数据源连接技巧
  • EXT学习笔记——目录详解
  • 常见版本的具体含义(GA,RC、RTM等)
  • SQL Server:关于Null的一些事
  • [转] Android Test - Auto Test Multi Activities
  • Restore ubuntu panel
  • 最新10款好看的英文字体免费下载
  • Qt那点事儿(二)
  • 30岁前男人需要完成的事
  • An Implementation of SOPC-based Framework for Image Processing
  • .net/c# memcached 获取所有缓存键(keys)
  • (三)从jvm层面了解线程的启动和停止
  • Debian下无root权限使用Python访问Oracle
  • E-HPC支持多队列管理和自动伸缩
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • Kibana配置logstash,报表一体化
  • PHP那些事儿
  • Python十分钟制作属于你自己的个性logo
  • scala基础语法(二)
  • SpiderData 2019年2月16日 DApp数据排行榜
  • sublime配置文件
  • vue数据传递--我有特殊的实现技巧
  • 从0到1:PostCSS 插件开发最佳实践
  • 分享几个不错的工具
  • 关于List、List?、ListObject的区别
  • 将回调地狱按在地上摩擦的Promise
  • 如何学习JavaEE,项目又该如何做?
  • 思考 CSS 架构
  • 国内开源镜像站点
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • ​业务双活的数据切换思路设计(下)
  • #stm32驱动外设模块总结w5500模块
  • $(selector).each()和$.each()的区别
  • $jQuery 重写Alert样式方法
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (译) 函数式 JS #1:简介
  • .NET CF命令行调试器MDbg入门(一)
  • .NET Micro Framework初体验
  • .Net Web项目创建比较不错的参考文章
  • .NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?
  • .NET设计模式(8):适配器模式(Adapter Pattern)
  • .net通用权限框架B/S (三)--MODEL层(2)
  • .net专家(张羿专栏)
  • @GlobalLock注解作用与原理解析
  • @RestController注解的使用
  • [ vulhub漏洞复现篇 ] Hadoop-yarn-RPC 未授权访问漏洞复现
  • [2023-年度总结]凡是过往,皆为序章
  • [2669]2-2 Time类的定义
  • [AI]文心一言爆火的同时,ChatGPT带来了这么多的开源项目你了解吗