如何在数据库中找到最大的程序?

时间:2012-06-15 06:53:38

标签: sql-server-2008 sql-server-2005 sql-server-2008-r2

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

谢谢!在adavanced。

3 个答案:

答案 0 :(得分:3)

使用此substring count解决方案计算换行符(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

答案 1 :(得分:1)

不确定我理解你的问题。你在找类似的东西吗?

select 
    routine_name, 
    DATALENGTH(ROUTINE_DEFINITION) 
from INFORMATION_SCHEMA.ROUTINES 
order by 2 desc

答案 2 :(得分:1)

就字符数而不是rowcount而言,你可以试试这个:

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