Heim > Datenbank > MySQL-Tutorial > Wie lösche ich eine SQL Server-Tabelle mit kaskadierenden Einschränkungen?

Wie lösche ich eine SQL Server-Tabelle mit kaskadierenden Einschränkungen?

Barbara Streisand
Freigeben: 2024-12-29 10:52:09
Original
394 Leute haben es durchsucht

How to Drop a SQL Server Table with Cascading Constraints?

SQL Server: Tabelle mit kaskadierenden Einschränkungen löschen

In Oracle ermöglicht die Option „CASCADE CONSTRAINTS PURGE“ in der DROP TABLE-Anweisung das Entfernen einer Tabelle und ihrer abhängigen Einschränkungen und Daten.

Die entsprechende Funktionalität in SQL Server ist nicht über eine einzelne verfügbar Befehl. Es gibt jedoch zwei alternative Möglichkeiten, um das gewünschte Ergebnis zu erzielen:

Verwenden von Skriptoptionen:

  1. Öffnen Sie SQL Server Management Studio.
  2. Navigieren Sie zu: Extras > Optionen > SQL Server-Objekt-Explorer > Skripterstellung
  3. Aktivieren Sie das Kontrollkästchen „Skript für abhängige Objekte generieren“.
  4. Klicken Sie mit der rechten Maustaste auf die Tabelle, die Sie löschen möchten.
  5. Wählen Sie „Skript > Ablegen auf >“. Neues Abfragefenster.“

Dadurch wird ein Skript generiert, das alle abhängigen Objekte enthält und sie an der richtigen Stelle ablegt Reihenfolge.

Verwenden einer rekursiven gespeicherten Prozedur:

  1. Erstellen Sie eine rekursive gespeicherte Prozedur, die die Tabelle und alle ihre abhängigen Objekte löscht.
    z. B.:
CREATE PROC DropTableCascade (@TableName nvarchar(max))
AS
BEGIN
 IF OBJECT_ID(@TableName) IS NOT NULL
 BEGIN
  EXEC sp_MSForEachTable 'IF "{DB_NAME()}.dbo.' + name in (SELECT name FROM sysobjects WHERE type = ''U'' AND parent_id = OBJECT_ID(@TableName)) BEGIN PRINT ''Dropping table '' + ''{DB_NAME()}.dbo.'' + name PRINT ''DELETE FROM '' + ''{DB_NAME()}.dbo.'' + name + ''; DROP TABLE '' + ''{DB_NAME()}.dbo.'' + name + ''; END'
  DROP TABLE @TableName
 END
END
Nach dem Login kopieren
  1. Rufen Sie die gespeicherte Prozedur mit dem Namen auf Tabelle, die Sie löschen möchten:
EXEC DropTableCascade 'YourTableName'
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie lösche ich eine SQL Server-Tabelle mit kaskadierenden Einschränkungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage