Überprüfen Sie, ob eine Tabelle Zeilen oder nicht SQL Server 2005 enthält
-
23-09-2019 - |
Frage
Wie überprüfen Sie, ob eine Tabelle Zeilen oder nicht SQL Server 2005 enthält?
Lösung
Für welchen Zweck?
- Schnellste für ein if wäre
IF EXISTS (SELECT * FROM Table)...
- Für ein Ergebnissatz,
SELECT TOP 1 1 FROM Table
Gibt entweder Null- oder eine Reihen zurück - Für genau eine Zeile mit einer Anzahl (0 oder ungleich Null),
SELECT COUNT(*) FROM Table
Andere Tipps
Sie können auch verwenden existiert
select case when exists (select 1 from table)
then 'contains rows'
else 'doesnt contain rows'
end
oder um zu überprüfen, ob es Kinderreihen für einen bestimmten Datensatz gibt:
select * from Table t1
where exists(
select 1 from ChildTable t2
where t1.id = t2.parentid)
oder in einem Verfahren
if exists(select 1 from table)
begin
-- do stuff
end
Wie andere gesagt, Sie können so etwas verwenden:
IF NOT EXISTS (SELECT 1 FROM Table)
BEGIN
--Do Something
END
ELSE
BEGIN
--Do Another Thing
END
Verwenden Sie für die beste Leistung den spezifischen Spaltennamen anstelle von * - zum Beispiel:
SELECT TOP 1 <columnName>
FROM <tableName>
Dies ist optimal, da sie anstatt die gesamte Liste der Spalten zurückzugeben, nur eine zurückgibt. Das kann einige Zeit sparen.
Wenn Sie nur die erste Zeile zurückgeben, wenn es Werte gibt, ist es noch schneller. Eigentlich haben Sie nur einen Wert als Ergebnis - wenn es Zeilen gibt oder keinen Wert, wenn keine Zeilen vorhanden sind.
Wenn Sie die Tabelle auf verteilte Weise verwenden, was höchstwahrscheinlich der Fall ist, ist es viel schneller, nur einen Wert vom Server zum Client zu transportieren.
Sie sollten auch unter allen Spalten mit Bedacht auswählen, um Daten aus einer Spalte abzurufen, die weniger Ressource wie möglich einnehmen können.
Kannst du die Zeilen nicht einfach zählen? select count(*) from table
(oder eine indizierte Spalte anstelle von *, wenn die Geschwindigkeit wichtig ist)?
Wenn nicht, dann vielleicht Dieser Artikel Kann Sie in die richtige Richtung verweisen.
gut, anstatt eine separate URL neben dem Titel zu haben, habe ich Titel-URL für den Web-Teil verwendet, der Scorecard beherbergt.Also in der obigen Figur oben, wenn ich auf
Im Folgenden sind die Schritte erforderlich, um die Titel-URL des Webparts zu bearbeiten.
- .
- Klicken Sie auf Webpart bearbeiten.
- Erweiterter Abschnitt erweitert.
- Füllen Sie den Wert für die Titel-URL aus.
Es gab mir einen alternativen Weg, um meinen Zweck zu erreichen, um auf der Sendungsseite der SCORECARD umgeleitet zu werden.