您好我正在使用SQL Server 2008 R2, 我在数据库中有很多程序。 那些我最想找到最大的行程序? 是否有可能找到具有计数的过程作为其中的行数。 请有人帮我解决这个问题。
谢谢!在adavanced。
答案 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