Der Tabellenname lautet Scores
.
Ist es richtig, Folgendes zu tun?
IF EXISTS(SELECT *
FROM dbo.Scores)
DROP TABLE dbo.Scores
sql-server
tsql
tmaster
quelle
quelle
'U'
für den zweiten Parameter bedeutet anscheinend "Nur nach Objekten mit diesem Namen suchen, die Tabellen sind". Eine Quelle . AlsoOBJECT_ID('TableName')
ist es nicht falsch , aber es ist auch nicht wahnsinnig präzise, also'U'
in @ Martins ausgezeichneter Antwort.Ab SQL Server 2016 können Sie verwenden
Referenz: DROP IF EXISTS - Neues in SQL Server 2016
Es wird bald in der SQL Azure-Datenbank verfügbar sein.
quelle
Die ANSI SQL / plattformübergreifende Methode besteht darin, INFORMATION_SCHEMA zu verwenden , das speziell zum Abfragen von Metadaten zu Objekten in SQL-Datenbanken entwickelt wurde.
Die meisten modernen RDBMS-Server bieten mindestens grundlegende INFORMATION_SCHEMA-Unterstützung, einschließlich: MySQL , Postgres , Oracle , IBM DB2 und Microsoft SQL Server 7.0 (und höher) .
quelle
if exists
Ansi-konform?Habe so viele gesehen, die nicht wirklich funktionieren. Wenn eine temporäre Tabelle erstellt wird, muss sie aus der temporären Datenbank gelöscht werden!
Der einzige Code, der funktioniert, ist:
quelle
dbo
umtempdb
diese Arbeit gemacht. Ich möchte auch vorschlagen, die'u'
in den Kommentaren der akzeptierten Antwort genannten hinzuzufügen . Somit würde die vollständige IF-Anweisung folgendermaßen aussehen:IF OBJECT_ID('tempdb..#temp', 'U')
In SQL Server 2016 (13.x) und höher
In früheren Versionen
Du bist dein
table type
quelle
Oder:
quelle
if exists (select * from sys.tables where name = 'Scores') drop table Scores
Ich hoffe das hilft:
quelle
Ich habe eine kleine UDF geschrieben, die 1 zurückgibt, wenn das Argument der Name einer vorhandenen Tabelle ist, andernfalls 0:
Um eine vorhandene Tabelle zu löschen
User
, rufen Sie sie folgendermaßen auf:quelle
Einfach ist das:
wo die
dbo.TableName
gewünschte Tabelle ist und ‚U‘ isttype
Ihretable
.quelle
quelle
Ich benutze:
quelle
Es gibt einen einfacheren Weg
quelle
Eine bessere visuelle und einfache Möglichkeit, wenn Sie Visual Studio verwenden, öffnen Sie einfach über die Menüleiste.
es sollte sich wie hier gezeigt öffnen
Wählen Sie und klicken Sie mit der rechten Maustaste auf die Tabelle, die Sie löschen möchten, und löschen Sie sie dann. Ein solcher Bildschirm sollte angezeigt werden. Klicken Sie zur Bestätigung auf Datenbank aktualisieren.
Diese Methode ist sehr sicher, da sie Ihnen Feedback gibt und Sie vor Beziehungen der gelöschten Tabelle zu anderen Tabellen warnt.
quelle
SQL
, nicht aufVisual Studio
. Daher ist diese Antwort für diese Frage irrelevant.Tun Sie dies so, es ist der einfachste Weg.
qry
wird Ihre eigene Abfrage sein, was auch immer Sie in der Auswahlliste wollen.quelle