gpt4 book ai didi

sql - 从 sql server 2005 存储过程打印源代码

转载 作者:行者123 更新时间:2023-12-04 06:09:45 24 4
gpt4 key购买 nike

我有 40 个左右的存储过程,我希望能够打印出来并在纸上重构,然后对过程进行更改。我遇到了几种不同的可能性,但到目前为止没有一种适合我想要的,但稍微调整一下可能会解决这个问题。首先

select 
text
from
syscomments
where
id in (select id from sysobjects where xtype='p' and name LIKE 'qscore_Corp%')

但这会返回所有未格式化的单行代码。

使用 sp_helptext 也是一种选择,但我还没有弄清楚如何将多个连接成一个长文本表。

我的目标是使我可以从一个文本文件中打印这 40 个程序的源代码,并使用我在每个程序中使用的格式。

已解决::: 马丁再次感谢。
我对他的解决方案做了一个小小的调整,拉出了我需要的 procs。
声明 @stored_procedure_code nvarchar(MAX)
SET @stored_procedure_code = ''
    SELECT @stored_procedure_code = @stored_procedure_code + '' + ISNULL(OBJECT_DEFINITION(object_id),'')
FROM sys.procedures WHERE name LIKE 'qscore_Corp%'

SELECT @stored_procedure_code AS [processing-instruction(x)] FOR XML PATH('')

最佳答案

就像是

DECLARE @stored_procedure_code nvarchar(MAX) = ''

SELECT @stored_procedure_code = @stored_procedure_code + '
/*****************************************************************************/
GO

' + ISNULL(OBJECT_DEFINITION(object_id),'')
FROM sys.procedures
WHERE object_id IN (object_id('foo'),object_id('foo_bar'))

SELECT @stored_procedure_code AS [processing-instruction(x)] FOR XML PATH('')

关于sql - 从 sql server 2005 存储过程打印源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7905878/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com