当前位置:  开发笔记 > 前端 > 正文

如何在SQL Server中获取触发器的定义(正文)?

如何解决《如何在SQLServer中获取触发器的定义(正文)?》经验,为你挑选了3个好方法。

无法找到满足我需求的SQL diff工具,我正在编写自己的工具.在INFORMATION_SCHEMA和sys表之间,我有一个大部分完整的工作版本.但是我在元数据中找不到的一件事是触发器的定义,你知道,实际的SQL代码.我忽略了什么吗?

谢谢.


谢谢,皮特,我不知道那个!

斯科特,我正在使用非常基本的托管包,不允许远程连接到数据库.我不知道RedGate的规格(我无论如何都买不起)是否提供了解决方法,虽然还有API(例如来自Apex的API),我没有看到投资一个仍然需要我更多编程的解决方案.:)

我的解决方案是在网站上删除一个ASPX页面作为一种"模式服务",将收集的元数据作为XML返回.我设置了一个小的AJAX应用程序,可以将任意数量的目录实例与主数据库进行比较并显示差异.它并不完美,但对我来说是一个重大进步.

再次感谢!



1> Pete..:

sp_helptext用于获取构成触发器的sql.

syscomments视图中的text列还包含用于创建对象的sql.



2> SQLMenace..:

对于2005和2008,您可以使用OBJECT_DEFINITION()函数


2005年 - 2012年的工作 - https://msdn.microsoft.com/en-us/library/ms176090%28v=sql.110%29.aspx

3> Sathish..:
SELECT     
    DB_NAME() AS DataBaseName,                  
    dbo.SysObjects.Name AS TriggerName,
    dbo.sysComments.Text AS SqlContent
FROM 
    dbo.SysObjects INNER JOIN 
        dbo.sysComments ON 
        dbo.SysObjects.ID = dbo.sysComments.ID
WHERE   
    (dbo.SysObjects.xType = 'TR') 
    AND 
    dbo.SysObjects.Name = ''

推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有