Devo controllare se alcuni record con condizioni specifiche esistono in una tabella che potrebbe non esistere e devo farlo in una funzione scalare.Verificare se ci sono dei record in una tabella che potrebbero non esistere
Ecco il mio codice:
CREATE FUNCTION CheckIfRecordsExistInTestTable()
RETURNS INT
BEGIN
DECLARE @Result INT
SELECT @Result =
CASE WHEN OBJECT_ID('TestTable') IS NULL THEN 0
ELSE
CASE WHEN EXISTS(SELECT * FROM TestTable) THEN
1
ELSE
0
END
END
RETURN @Result
END
Mentre provarlo in SQL Server esegue la seguente dichiarazione:
SELECT dbo.CheckIfRecordsExistInTestTable()
Ogni volta TestTable
esiste restituisce il risultato previsto. Ma ogni volta che non lo fa, SQL Server solleva un'eccezione (Nome oggetto non valido 'TestTable
') e non riesco a ottenere quello che mi aspetto (voglio un valore di ritorno pari a zero in questa situazione). Quindi cosa proponi di fare per questo problema che può essere codificato in una funzione scalare?
Tu sei l'uomo genio. Ho aggiornato la mia risposta. Sono solo un principiante in 'Sql Server' che impara tutte queste cose :) –