Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Datenbanken erstellen » Mit Datenbankobjekten arbeiten » Mit Tabellen arbeiten » Tabellen ändern

 

Tabellen ändern (SQL)

In Interactive SQL können Sie Tabellen mit der Anweisung ALTER TABLE ändern. Wenn Sie eine andere Klausel als ADD FOREIGN KEY mit der ALTER TABLE-Anweisung bei einer Tabelle mit abhängigen materialisierten Ansichten verwenden, schlägt die ALTER TABLE Anweisung fehl. Bei allen anderen Klauseln müssen Sie die abhängigen materialisierten Ansichten deaktivieren und sie anschließend reaktivieren, nachdem Ihre Änderungen abgeschlossen sind. Weitere Hinweise finden Sie unter Ansichtenabhängigkeiten.

Verwenden Sie die Systemprozedur "sa_dependent_views", um zu ermitteln, ob abhängige materialisierte Ansichten vorhanden sind. Weitere Hinweise finden Sie unter sa_dependent_views-Systemprozedur.

♦  So ändern Sie eine vorhandene Tabelle (SQL)
  1. Verbinden Sie sich als Benutzer mit DBA-Berechtigung mit der Datenbank.

  2. Wenn Sie Schema-ändernde Vorgänge auf Tabellen mit abhängigen materialisierten Ansichten durchführen und eine andere Klausel als ADD FOREIGN KEY mit der ALTER TABLE-Anweisung verwenden, benutzen Sie die Anweisung ALTER MATERIALIZED VIEW ... DISABLE, um die einzelnen abhängigen materialisierten Ansichten zu deaktivieren. Es ist nicht erforderlich, dass Sie abhängige reguläre Ansichten deaktivieren.

  3. Benutzen Sie eine ALTER TABLE-Anweisung, um die Tabellenänderung durchzuführen.

    Die Definition der Tabelle in der Datenbank wird aktualisiert.

  4. Falls Sie materialisierte Ansichten deaktiviert haben, benutzen Sie die Anweisung ALTER MATERIALIZED VIEW ... ENABLE, um sie wieder zu aktivieren.

Beispiele

Diese Beispiele zeigen, wie die Struktur der Datenbank geändert werden kann. Mit der Anweisung ALTER TABLE können Sie fast alles ändern, was eine Tabelle betrifft—mit ihr können Sie Fremdschlüssel hinzufügen oder löschen, den Spaltentyp wechseln usw. Sobald Sie Änderungen durchgeführt haben, werden in diesen Fällen gespeicherte Prozeduren, Ansichten und andere Elemente, die diese Tabelle referenzieren, möglicherweise nicht mehr funktionieren.

Der folgende Befehl fügt der Tabelle "Skills" eine Spalte hinzu, die Platz für eine optionale Beschreibung bietet:

ALTER TABLE Skills
ADD SkillDescription CHAR( 254 );

Mit der Anweisung ALTER TABLE können Sie auch Spaltenattribute ändern. Die folgende Anweisung kürzt die Spalte SkillDescription von einer maximalen Länge von 254 Zeichen auf die maximale Länge von 80 Zeichen:

ALTER TABLE Skills
ALTER SkillDescription CHAR( 80 );

Standardmäßig wird ein Fehler gemeldet, wenn Einträge mehr als 80 Zeichen enthalten. Dieses Verhalten kann mit der Option "string_rtruncation" geändert werden. Weitere Hinweise finden Sie unter string_rtruncation-Option [Kompatibilität].

Mit der folgenden Anweisung wird der Name der Spalte "SkillType" in "Classification" geändert:

ALTER TABLE Skills
RENAME SkillType TO Classification;

Mit der folgenden Anweisung wird die Spalte "Classification" gelöscht.

ALTER TABLE Skills
DROP Classification;

Mit der folgenden Anweisung wird der Name der gesamten Tabelle geändert:

ALTER TABLE Skills
RENAME Qualification;
Siehe auch