2017-09-19 2 views
0

J'ai une sortie d'une procédure stockée (qui retourne 2 lignes et 3 colonnes). Je dois vérifier que la valeur (à partir de la 2ème rangée, 3ème colonne) de cette sortie est supérieure à un certain nombre (disons 1000) de sorte que je puisse continuer avec une autre fonction après cela si la condition est vraie.Comment utiliser IF Condition pour la sortie d'une procédure stockée

Exemple:

EXEC sp_helpdb MyDB 

Ceci est ma procédure stockée pour vérifier la taille du journal de la base de données. La sortie sera au format de table dans lequel une des colonnes affiche la taille du journal.

Maintenant, si la valeur de la taille du journal est supérieure à un certain nombre, par exemple 800 Mo, je dois procéder à une autre opération. Alors, comment vérifier si la taille du fichier est plus/moins de 800MB?

+4

Vous pouvez insérer la sortie de procédure stockée dans une table temporaire, puis vérifiez la valeur dans ce tableau pour décider comment vous souhaitez poursuivre . –

Répondre

0

--vous obtiendrai The Log Détails De 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