こんにちは、SQL Server 2008 R2 を使用しています。データベースには多くのプロシージャがあります。その中で、行に関して最大の手順を見つけたいですか? その中の行数としてカウントを持つプロシージャを見つけることは可能ですか? 誰かがこれを手に入れるのを手伝ってくれませんか。
ありがとう!アドバンスで。
こんにちは、SQL Server 2008 R2 を使用しています。データベースには多くのプロシージャがあります。その中で、行に関して最大の手順を見つけたいですか? その中の行数としてカウントを持つプロシージャを見つけることは可能ですか? 誰かがこれを手に入れるのを手伝ってくれませんか。
ありがとう!アドバンスで。
この部分文字列カウントソリューションを使用して、改行をカウントします (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
あなたの質問を理解できません。次のようなものを探していますか?
select
routine_name,
DATALENGTH(ROUTINE_DEFINITION)
from INFORMATION_SCHEMA.ROUTINES
order by 2 desc
行数ではなく文字数に関しては、これを試すことができます:
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