0

您好我使用的是 SQL Server 2008 R2,我在数据库中有很多程序。在那些我想找到行数最大的程序中?是否有可能找到将计数作为其中行数的过程。请有人可以帮我得到这个。

谢谢!在高级。

4

3 回答 3

3

使用此子字符串计数解决方案来计算换行符 (nchar(10)):

select o.type, o.name, 
    len(m.definition) - len(replace(m.definition, nchar(10), '')) as rows,
    m.* 
from sys.sql_modules m
inner join sys.objects o on m.object_id = o.object_id
--order by type, name
order by 3 desc
于 2012-06-15T07:06:27.293 回答
1

不确定我是否理解你的问题。您是否正在寻找类似的东西:

select 
    routine_name, 
    DATALENGTH(ROUTINE_DEFINITION) 
from INFORMATION_SCHEMA.ROUTINES 
order by 2 desc
于 2012-06-15T06:57:46.303 回答
1

就字符数而不是行数而言,您可以试试这个:

select p.name, len(m.definition)
from sys.procedures p
join sys.sql_modules m on m.object_id=p.object_id
order by len(m.definition) desc
于 2012-06-15T07:06:17.223 回答