Wie funktioniert die Anweisung DB2 alter table zum Hinzufügen mehrerer Spalten? Werden Spalten nacheinander hinzugefügt und bereits hinzugefügte Spalten gelöscht, wenn beim Hinzufügen einer Spalte ein Problem auftritt? Ist die Reihenfolge der Spalten erhalten? Ist es besser, die ALTER TABLE-Anweisung mehrmals aufzurufen, einmal pro Spalte, und zwar leistungsabhängig?Wie funktioniert die Anweisung DB2 alter table zum Hinzufügen mehrerer Spalten?
Antwort
können Sie Spalten mehrere in einer Zeit wie dieser hinzu:
alter table jgrun.tmp
add column col1 varchar(15)
add column col2 int default 0
add column col3 varchar(10)
Sie mehrere Spalte wie folgt entfernen:
alter table jgrun.tmp
drop column col1
drop column col2
Wenn Sie müssen mehrere Spalten hinzufügen/Drop Sie diese Methode verwenden sollten für Leistung (besser auf eins nach dem anderen)
Mit Db2, die DDL (einschließlich alter Tabelle) ist unter der Kontrolle der Transaktion, wenn Sie also mehrere Änderungen vornehmen möchten (erstellen, ablegen, ändern usw.) Sie können dies in einer einzigen Arbeitseinheit tun, abhängig von der verfügbaren Transaktionsprotokollierungskapazität. So können mehrere DDL-Anweisungen eine einzelne atomare Aktion sein, das heißt, wenn einer von ihnen fehlschlägt, wird die gesamte Transaktion zurückgesetzt.
Abhängig von der Plattform, die Db2 (Z/OS, i-Serie, Unix/Windows) und Db2-Version hostet, gibt es Beschränkungen für die Anzahl der einzelnen Änderungen an einer Tabelle, bevor Db2 eine Reorganisation benötigt. Dies kann die Anzahl der von Ihnen verwendeten ALTER-Anweisungen beeinflussen (z. B. Hinzufügen von mehr als einer Spalte in einer einzelnen Anweisung).
Die Leistung ist möglicherweise nicht der entscheidende Faktor für die Gruppierung von Änderungen. Wiederherstellbarkeit, Platzbedarf, Objektabhängigkeiten, Back-Out, HA/DR-Überlegungen, Zeitfenster für Wechselfenster, Verfügbarkeitsangelegenheiten, Planung, Codeabhängigkeiten können die Reihenfolge bestimmen, die Sie verwenden. Eine Größe passt nicht allen.
- 1. ALTER TABLE hinzufügen Einschränkung
- 2. SQL: ALTER TABLE hinzufügen nicht
- 3. RENAME TABLE/ALTER TABLE nicht funktioniert
- 4. alter table add MULTIPLE Spalten NACH Spalte1
- 5. Alter Table Alte Spalte andernfalls zum Ändern der Größe Spalten
- 6. SQL ALTER TABLE Fremdschlüssel
- 7. ALTER TABLE-Syntax
- 8. alter sqlite table zum Hinzufügen einer eindeutigen Integritätsregel für mehrere Spalten
- 9. Warum wird ALTER TABLE zum Ändern der AUTO_INCREMENT-Variablen verwendet?
- 10. Alter mehr Spalten in einer einzigen Anweisung
- 11. Amazon Athena ALTER TABLE ADD PARTITION Abfrage funktioniert nicht
- 12. SQL, Spalte hinzufügen, die ein Fremdschlüssel ist über ALTER TABLE in 1 Anweisung
- 13. ALTER TABLE, Fehlercode: 1064
- 14. PostgreSQL ALTER TABLE explizite Sperre funktioniert nicht wie erwartet
- 15. mysql ALTER TABLE, wenn die Spalte nicht
- 16. SQL ALTER TABLE auf TRIGGER
- 17. Oracle - ALTER TABLE ENABLE TABLE LOCK
- 18. Wie funktioniert die RENAME TABLE-Anweisung von MySQL?
- 19. Liquibase MySQL alter table Zeichensatz
- 20. Laravel RAW-Abfrage zum Hinzufügen mehrerer Spalten Float-Wert
- 21. Alter TABLE DROP Spalte - mehrere Spalten MS SQL
- 22. Oracle Leistung von Schemaänderungen im Vergleich zu MySQL ALTER TABLE?
- 23. Ausführen einer alter table alter column-Anweisung mehr als einmal in SQL Server
- 24. Rollback in der MySQL-Shell funktioniert nicht nach ALTER TABLE
- 25. Bulk-ALTER TABLE SQL Server
- 26. mysql-Anweisung, die die Summe mehrerer Spalten nicht richtig sortiert
- 27. Hat jemand mit ALTER TABLE-Anweisung auf mehreren mittelgroßen Tabellen behandelt?
- 28. Drupal: Modulupdate alter database table
- 29. SQL - Ausführen mehrerer ALTER-Abfragen
- 30. Aktualisieren mehrerer Spalten einer Tabelle