Ich muss überprüfen, ob einige Datensätze mit bestimmten Bedingungen in einer Tabelle existieren, die möglicherweise nicht existieren, und ich muss dies in einer skalaren Funktion tun.Überprüfen, ob Datensätze in einer Tabelle vorhanden sind, die nicht existieren
Hier ist mein Code:
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
Während es in SQL Server die folgende Anweisung ausführen versuchen:
SELECT dbo.CheckIfRecordsExistInTestTable()
Wenn TestTable
existiert es meine erwartete Ergebnis zurückgibt. Aber wann immer es nicht auftritt, löst SQL Server eine Ausnahme aus (ungültiger Objektname 'TestTable
') und ich kann nicht bekommen, was ich erwarte (ich möchte in dieser Situation einen Null-Rückgabewert haben). Was also schlagen Sie für dieses Problem vor, das zu einer Skalarfunktion kodiert werden kann?
Sie sind Genie Mann. Ich habe meine Antwort aktualisiert. Bin gerade ein Anfänger in 'Sql Server', der all diese Sachen lernt :) –