Die Änderung von Tabellen kann zu Konflikten mit anderen Benutzern der Datenbank führen. Obwohl Sie die Anweisung ALTER TABLE ausführen können, während andere Verbindungen aktiv sind, ist diese Anweisung gesperrt, wenn eine andere Verbindung die zu ändernde Tabelle benutzt. Bei großen Tabellen ist ALTER TABLE ein zeitaufwendiger Vorgang. Während die Anweisung ausgeführt wird, sind keine anderen Datenänderungsanforderungen in dieser Tabelle zulässig. Weitere Hinweise finden Sie unter ALTER TABLE-Anweisung.
Es gibt verschiedene Möglichkeiten, die vorhandenen CHECK-Integritätsregeln einer Tabelle zu ändern.
Sie können eine neue CHECK-Integritätsregel zu einer Tabelle oder zu einer einzelnen Spalte hinzufügen.
Sie können eine CHECK-Integritätsregel für eine Spalte löschen, indem Sie sie auf NULL setzen. Die folgende Anweisung zum Beispiel entfernt die CHECK-Integritätsregel aus der Spalte "Phone" in der Tabelle "Customers":
ALTER TABLE Customers ALTER Phone CHECK NULL; |
Sie können eine CHECK-Integritätsregel für eine Spalte auf die gleiche Art und Weise ersetzen, wie Sie eine CHECK-Integritätsregel hinzufügen. Die folgende Anweisung zum Beispiel fügt die CHECK-Integritätsregel der Spalte "Phone" in der Tabelle "Customers" hinzu bzw. ersetzt sie:
ALTER TABLE Customers ALTER Phone CHECK ( Phone LIKE '___-___-____' ); |
Sie können eine CHECK-Integritätsregel ändern, die für die Tabelle definiert wurde:
Sie können mit ALTER TABLE und einer Klausel "ADD Tabellen_Integritätsregel" eine neue CHECK-Integritätsregel hinzufügen.
Wenn Sie Integritätsregelnamen festgelegt haben, können Sie einzelne Integritätsregeln ändern.
Wenn Sie keine Integritätsregelnamen festgelegt haben, können Sie alle vorhandenen CHECK-Integritätsregeln (einschließlich CHECK-Integritätsregeln für Spalten und CHECK-Integritätsregeln, die von Domänen geerbt wurden) mithilfe von ALTER TABLE DELETE CHECK löschen und dann neue CHECK-Integritätsregeln hinzufügen.
So verwenden Sie die Anweisung ALTER TABLE mit der DELETE CHECK-Klausel:
ALTER TABLE Tabellenname DELETE CHECK; |
In Sybase Central können Sie sowohl CHECK-Integritätsregeln für Tabellen als auch solche für Spalten hinzufügen, ändern und löschen. Weitere Hinweise finden Sie unter Integritätsregeln verwalten.
Wenn eine Spalte aus einer Tabelle gelöscht wird, werden die CHECK-Integritätsregeln, die mit der in der Tabellen-Integritätsregel
enthaltenen Spalte verbunden sind, nicht ebenfalls gelöscht. Dadurch, dass die Integritätsregeln nicht entfernt werden, wird
bei jedem Versuch, Daten in die Tabelle einzufügen oder sogar nur aus der Tabelle abzurufen, die Fehlermeldung Column not found
(Spalte nicht gefunden) ausgegeben.
Tabellen-CHECK-Integritätsregeln schlagen fehl, wenn der Wert FALSE zurückgegeben wird. Wenn die Bedingung den Wert UNKNOWN zurückgibt, hat dies die gleiche Wirkung wie die Rückgabe des Werts TRUE, und der Wert wird erlaubt.
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |