通过以下脚本,我得到了数据库中的所有存储过程:
SELECT sm.id, OBJECT_NAME(sm.id) AS object_name, sm.text
FROM syscomments AS sm
JOIN sysobjects AS so ON sm.id = so.id
WHERE (so.status >= 0) AND (so.xtype = 'P')
Run Code Online (Sandbox Code Playgroud)
我希望每个存储过程获得一行.表syscomments中的文本字段是nvarchar 4000.因此,方法可以存储在多个寄存器中.问题是我存储了超过15000个字符的过程.
SELECT sm.id, COUNT(sm.colid) AS Cantidad
INTO #SPrepeated
FROM syscomments AS sm INNER JOIN
sysobjects AS so ON sm.id = so.id
WHERE (so.status >= 0) AND (so.xtype = 'P') AND (so.category = 0)
GROUP BY sm.id, so.name
HAVING (COUNT(sm.colid) > 1)
SELECT sm.id, OBJECT_NAME(sm.id) AS object_name, sm.text
into #Tresult
FROM …Run Code Online (Sandbox Code Playgroud)