如何使用IF Condition来输出存储过程

时间:2017-09-19 03:48:35

标签: sql-server database if-statement stored-procedures

我有一个存储过程的输出(返回2行和3列)。我必须检查来自该输出的值(来自第2行,第3列)是否大于某个数字(比如1000),以便在条件为真之后我可以继续执行其他功能。

示例:

EXEC sp_helpdb MyDB   

这是我检查数据库日志大小的存储过程。输出将采用表格格式,其中一列显示日志大小。

现在,如果日志大小值大于某个数字(800MB),我需要继续进行其他操作。

那么如何检查文件的大小是否大于/小于800MB?

1 个答案:

答案 0 :(得分:0)

- 您将从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