Ich habe Tabelle mit Namen der Tabellen ...SELECT Name der Tabelle, wenn die Tabelle leer ist
Ich muss nur die Tabellen auswählen, die leer sind.
Dafür habe ich versucht, CURSOR zu schreiben.
DECLARE @Footprint VARCHAR(200)
DECLARE @query VARCHAR(200)
DECLARE MY_CURSOR CURSOR
LOCAL STATIC READ_ONLY FORWARD_ONLY
FOR
SELECT '[' + [SchemaName] + '].[FootprintBuildState]'
FROM [dbo].[vwAgencySchemas]
OPEN MY_CURSOR
FETCH NEXT FROM MY_CURSOR INTO @Footprint
WHILE @@FETCH_STATUS = 0
BEGIN
--CHECK IF Table IS EMPTY (UNCORRECT)
SET @query = 'SELECT ' + @Footprint + ' FROM ' + @Footprint + ' WHERE NOT EXISTS (SELECT * FROM ' + @Footprint+ ') '
EXEC (@query)
FETCH NEXT FROM MY_CURSOR INTO @Footprint
END
CLOSE MY_CURSOR
DEALLOCATE MY_CURSOR
Das ist, was ich habe, aber ich kann nicht richtig Abfrage auszuwählen Namen leere Tabelle
ich Fehler
Msg 105, Ebene 15, Status 1, Zeile schreiben 1
Nicht geschlossenes Anführungszeichen nach der Zeichenfolge '_test12345678910111213141'.Msg 102, Ebene 15, Status 1, Zeile 1
Falsche Syntax in der Nähe von '_test12345678910111213141'.
@demo: ** warum ** ', DAS?!?! 'sollte nur auf ** aggregierte ** Spalten angewendet werden, die' SUMME', 'COUNT',' AVG' usw. verwenden - keine meiner Spalten verwendet ein Aggregat, also ** nein **, es besteht keine Notwendigkeit für 'HAVING' ... –