首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在SQL Server中获取触发器的定义(正文)?

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

Stack Overflow用户
提问于 2008-09-04 15:46:08
回答 5查看 49.9K关注 0票数 26

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

谢谢。

谢谢,皮特,我不知道这一点!

Scott,我正在使用非常基本的托管软件包,这些软件包不允许远程连接到数据库。我不知道RedGate的规范(我根本负担不起)是否提供了一个解决方案,尽管也有一些API(例如来自Apex的),但我看不出投资于一个仍然需要更多编程的解决方案的意义。:)

我的解决方案是在站点上放置一个充当某种“模式服务”的ASPX页面,将收集到的元数据作为XML返回。我设置了一个小AJAX应用程序,将任意数量的目录实例与主目录实例进行比较,并显示差异。这并不完美,但对我来说是向前迈出的重要一步。

再次感谢!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2008-09-04 15:50:34

sp_helptext的作用是获取组成触发器的sql。

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

票数 26
EN

Stack Overflow用户

发布于 2015-02-04 01:45:54

代码语言:javascript
复制
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 = '<YourTriggerName>'
票数 18
EN

Stack Overflow用户

发布于 2008-09-04 15:53:57

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

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档