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 に答える