2017-09-19 13 views
0

ストアドプロシージャ(2行3列を返す)から出力しました。その出力からの値(第2行、第3列)がいくつかの数値(例えば1000)よりも大きいことを確認して、条件が真であれば他の関数を進めることができるようにする必要があります。IF条件をストアドプロシージャの出力に使用する方法

例:

EXEC sp_helpdb MyDB 

これは、データベースのログサイズを確認するには、私のストアドプロシージャです。出力は、ログサイズを示す列の1つがテーブル形式で出力されます。

ログサイズの値が800MBなどのいくつかの数値よりも大きい場合は、他の操作を続行する必要があります。

ファイルのサイズが800MBを超えているかどうかを確認するにはどうすればよいですか?

+4

からログの詳細を取得します。 –

答えて

0

--youあなたは一時テーブルにストアドプロシージャの出力を挿入してから続行する方法を決定するために、そのテーブルの値を確認することができますDBCC SQLPERF(ログ・スペース)

CREATE PROC dbo.Log_Space 
AS 
DBCC SQLPERF(logspace) 
GO 

CREATE TABLE #logSpaceStats 
( 
databaseName sysname, 
logSize decimal(18,5), 
logUsed decimal(18,5), 
Status INT 
) 
GO 


INSERT INTO #logSpaceStats (databaseName, logSize, logUsed,Status) 
EXEC Log_Space 
GO 

SELECT * FROM #logSpaceStats 

DROP TABLE #logSpaceStats 
関連する問題