Problem-Anweisung –
Derzeit eine der am meisten irritierenden Dinge in SQL ist, explizit zu überprüfen, ob ein Objekt vorhanden ist, bevor Sie es.
Beim Schreiben eines TSQL-Skripts / einer gespeicherten Prozedur habe ich mehrmals versucht, eine Spalte/Tabelle/Trigger/index/Benutzer abzulegen und die gefürchtete Fehlermeldung zu erhalten –
Ungültiger Objektname ‚object_name‘
Sieht Ihnen diese Fehlermeldung vertraut aus?,
Neue Syntax in SQL Server 2016 –
Im Rahmen der TSQL-Erweiterungen führt SQL Server 2016 eine neue Klausel ein –
DROP IF EXISTS, die die Spalte oder Einschränkung nur bedingt löscht, wenn sie bereits vorhanden ist.
Wenn das Objekt nicht vorhanden ist, wird es nicht werfen Sie alle Fehler-und die TSQL-Ausführung weiter.
DROP-OBJECT_TYPE OBJECT_NAME,
Diese syntax sieht sehr einfach und sauber.,
Diese Syntax gilt für-Datenbank, Tabelle, Funktion, Trigger, gespeicherte Prozedur, Spalte, Benutzer, Ansicht, Schema , Index, Rolle
Schauen wir uns eine Demonstration für diese neue Syntax an —
Zuerst erstellen wir eine Testtabelle und fügen einige Datensätze ein –
Vor SQL Server 2016 mussten wir immer explizit überprüfen, ob das Objekt existiert, und es dann löschen. Es gibt einige Möglichkeiten, wie wir dies tun können., Mit der Einführung von SQL Server 2016 können wir diesen Vorgang jedoch sehr einfach mit einer einfachen Syntax ausführen –
Wir können diese neue Anweisung auch für unsere DML-Abfragen verwenden, um Spalten/Einschränkungen nach Bedarf zu löschen., Siehe unten —
Ich habe das gesamte für diesen Artikel verwendete SQL –Skript in diesen Link hochgeladen GITHUB
Schlussfolgerung-
Der DROP IF EXISTS ist eine einfache T-SQL-Erweiterung in SQL Server 2016, aber ich ich bin sicher, es wäre eine der am häufigsten verwendeten Syntax im täglichen Leben eines T-SQL-Entwicklers.,
Verwandte Artikel zu SQL Server 2016 –
- Dynamische Datenmaskierung in SQL Server 2016
- Zeitreise in SQL Server 2016 mit zeitlichen Tabellen
- Integrierte JSON-Unterstützung in SQL Server 2016
- Vergleichen Sie Ausführungspläne in SQL Server 2016
- Abfragespeicher in SQL Server 2016
- Live-Abfragestatistiken in SQL Server 2016