TRIGGER的使用(修改SP自动触发)

 1 CREATE TRIGGER [trg_save_change_SP]
 2 ON DATABASE
 3 FOR CREATE_PROCEDURE, ALTER_PROCEDURE,DROP_PROCEDURE
 4 AS
 5     DECLARE @data XML
 6     DECLARE @InstanceName nvarchar(200),
 7         @DBName    nvarchar(100) ,
 8         @ObjectID int,
 9         @Version    int ,
10         @DBUser    nvarchar(100),
11         @InDateTime datetime,
12         @HostName nvarchar(200),
13         @LoginName nvarchar(100),
14         @EventName nvarchar(100),
15         @ObjectName nvarchar(200)  ,
16         @TSQL nvarchar(max),
17         @ObjectType char(2),
18         @SeqNo int
19
20     SET @data = EVENTDATA()
21
22     SELECT
23         @InstanceName = @@SERVERNAME   ,
24         @DBName = DB_NAME(),
25         @HostName = hostname,
26         @DBUser = CONVERT(nvarchar(100), CURRENT_USER),
27         @LoginName = @data.value(‘(/EVENT_INSTANCE/LoginName)[1]‘, ‘nvarchar(100)‘),
28         @EventName = @data.value(‘(/EVENT_INSTANCE/EventType)[1]‘, ‘nvarchar(100)‘),
29         @ObjectName= @data.value(‘(/EVENT_INSTANCE/ObjectName)[1]‘, ‘nvarchar(400)‘),
30         @TSQL = @data.value(‘(/EVENT_INSTANCE/TSQLCommand)[1]‘, ‘nvarchar(max)‘)
31     FROM master..sysprocesses WHERE spid = @@spid
32
33     SELECT     @Version = ISNULL(MAX(Version),0) + 1 FROM admin.dbo.ObjectLog WHERE ObjectName = @ObjectName AND DBName = @DBName
34
35     SELECT @ObjectType = type FROM sys.objects WHERE name = @ObjectName
36
37     SELECT @SeqNo = ISNULL(MAX(SeqNo),0)+1 FROM admin.dbo.ObjectLog
38
39     INSERT admin.dbo.ObjectLog(
40         [SeqNo]
41       , [DBName]
42       , [ObjectID]
43       , [ObjectName]
44       , [Version]
45       , [EventName]
46       , [DBUser]
47       , [HostName]
48       , [LoginName]
49       , [InDateTime]
50       , [TSQL]
51       , [CheckInChk]
52       , [InstanceName]
53       , [ObjectType]
54 )
55 VALUES(
56           @SeqNo
57         , @DBName
58         , Object_ID(@ObjectName)
59         , @ObjectName
60         , @Version
61         , @EventName
62         , @DBUser
63         , LTRIM(RTRIM(@HostName))
64         , @LoginName
65         , GETDATE()
66         , @TSQL
67         , ‘0‘
68         , @InstanceName
69         , @ObjectType)

TRIGGER的使用(修改SP自动触发)

时间: 2024-11-24 05:25:40

TRIGGER的使用(修改SP自动触发)的相关文章

使用jQuery中trigger()方法自动触发事件

一.常用事件 在页面加载完成时  自动触发input的点击事件,在移动端可以实现自动弹出输入法,获得焦点 $("input").trigger("click").focus(); 还有一种简写方式: $("input").click(); 还有其它事件就不一一列出了. 二.自定义事件 $("#btn").on("myClick",function(){ alert("自定义事件"); }

219 jQuery事件处理: off() 解绑事件,trigger() 、triggerHandler() 自动触发事件

? 当某个事件上面的逻辑,在特定需求下不需要的时候,可以把该事件上的逻辑移除,这个过程我们称为事件解绑.jQuery 为我们提供 了多种事件解绑方法:die() / undelegate() / off() 等,甚至还有只触发一次的事件绑定方法 one(),在这里我们重点讲解一下 off() ; 语法 演示代码 <body> <div></div> <ul> <li>我们都是好孩子</li> <li>我们都是好孩子<

原生js自动触发事件

熟悉jquery的童鞋都知道在jq中有一个方法可以自动触发事件,那就是trigger(),那么通过原生js又怎么模拟触发呢? js中添加一个主动触发事件的方法有dispatch.该方法能模拟用户行为,如点击(click)操作等. 标准使用dispatchEvent方法,IE6/7/8则使用fireEvent方法. dispatchEvent() 方法给节点分派一个合成事件. 语法如下: dispatchEvent(eventObj) eventObj 参数是一个描述事件的 ActionScrip

JQuery 自动触发事件

常用模拟 有时候,需要通过模拟用户操作,来达到单击的效果.例如在用户进入页面后,就触发click事件,而不需要用户去主动单击. 在JQuery中,可以使用trigger()方法完成模拟操作.例如可以使用下面的代码来触发id为btn的按钮的click事件. 1 $('#btn').trigger("click"); 这样,当页面加载完毕后,就会立刻输出想要的效果.也可以直接简写click(),来达到同样的效果: 1 $('#btn').click(); 触发自定义事件 trigger()

TeamCity : 自动触发 Build

创建了 build 的配置以后,您既可以手动点击 "Run" 按钮来触发一次build过程,也可以通过 Triggers 配置实现自动触发 build 过程.一个 trigger 就是一条规则:当某个事件发生时开始一次 build.TeamCity 内置支持多种触发器类型: 对于同一个 build,我们可以应用多个触发器,它们会按照各自的逻辑独立的起作用.下面我们比较详细的看下各类触发器的用法. VCS 触发器 VCS 触发器在检测到代码变化后会自动触发 build 过程.TeamCi

基于PHP的一种Cache回调与自动触发技术

背景 在PHP中使用Memcache或者Redis时,我们一般都会对Memcache和Redis封装一下,单独完成写一个Cache类,作为Memcache活着Redis的代理,且一般为单例模式.在业务代码中,使用Cache类时,操作的基本的示例代码如下 // cache 的 key $key = 'this is key'; $expire = 60;// 超时时间 // cache 的实例 $cache = Wk_Cache::instance(); $data = $cache->fetch

自动触发事件

今天做一个页面需要自动触发超链接,第一次了解到trigger函数,可以自动触发事件,语法为:$(selector).triggger(event). 例如:$("#btn").triigger("click");也可以简写为$("#btn").click(); 但是对于超链接,我做的时候这两种方式都做不到自动跳转,暂时还不知道为什么,反而用下面的方式实现了: $("a")[0].click(); 在这过程中,学习到了两种自动跳

基于C#实现的自动化测试框架:发布自动触发自动化回归测试

接口自动化测试用例完成以后,以前都是发布以后手动运行测试用例.虽然手动运行下脚本也就是一个F5的事情,但是离自动化测试的标准差得很远.这两天有了个大胆的想法,想要实现以下发布时直接触发自动化回归测试用例的进行. 虽然说发布工作看起来很高大上,但操作实际上就是把要发布的内容扔到服务器下的指定文件夹里,然后去部署工具下切换路径,然后回收刷新即可进行操作.因此,只要实时监控服务器上的文件夹,一旦其中的文件发生改变,就直接启动运行对应的自动化测试用例,就能实现[版本发布时自动触发自动化测试]的需求. 一

rsync+inotify实现实时同步,自动触发同步文件

本文参考来自:http://chocolee.blog.51cto.com/8158455/1400596 我的需求和他的略有不同,同时做了一下更改,如下: 需求:两台机器相互为主备,搭建相同的两个服务,实现数据同步,并长期运行脚本,不受hup影响 1.安装Rsync http://www.cnblogs.com/liuquan/p/5413132.html 2.安装 inotify-slave部署 inotify是rsync客户端安装和执行的 企业场景压力测试200-300个同步限制,受网卡,