SELECT
OBJECT_NAME(object_id),
OBJECT_DEFINITION(object_id)
FROM
sys.procedures
WHERE
OBJECT_DEFINITION(object_id) LIKE '%xxxx%'
上述查询显示存储过程定义,但结果显示在一行中。这真的很难读。
我尝试按文字更改显示结果。但它的最大长度限制为8000个字符。
有什么方法可以查询可读的存储过程定义或我可以用来将单行存储过程转换为更易读的脚本的任何工具。
答案 0 :(得分:0)
您可以将定义导出到文件。 如果您想要查看某个处理容器的某些文本,可以使用红门免费工具SQL Search
DECLARE @OLE INT
DECLARE @FileID INT
DECLARE @File VARCHAR(2000), @Text VARCHAR(max)
EXECUTE sp_OACreate 'Scripting.FileSystemObject', @OLE OUT
EXECUTE sp_OAMethod @OLE, 'OpenTextFile', @FileID OUT, @File, 8, 1
EXECUTE sp_OAMethod @FileID, 'WriteLine', Null, @Text
EXECUTE sp_OADestroy @FileID
EXECUTE sp_OADestroy @OLE