【问题标题】:How to use IF Condition for the output of a stored procedure如何将 IF 条件用于存储过程的输出
【发布时间】:2017-09-19 03:48:34
【问题描述】:

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

例子:

EXEC sp_helpdb MyDB   

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

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

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

【问题讨论】:

  • 您可以将存储过程的输出插入到临时表中,然后检查该表中的值以决定您要如何继续。

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


【解决方案1】:

--您将从 DBCC SQLPERF(logspace) 获取日志详细信息

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-22
    • 2022-10-17
    • 1970-01-01
    • 1970-01-01
    • 2021-12-21
    • 1970-01-01
    • 2017-03-04
    • 2012-04-17
    相关资源
    最近更新 更多