-
Hallo Daniel,
beim Anlegen einer Tabelle ist ein Default-Wert nicht erforderlich, da zu diesem Zeitpunkt in der Tabelle noch keine Sätze vorhanden sind.
Beim Hinzufügen einer Spalte zu einer bestehenden Tabelle wird davon ausgegangen, dass in der Tabelle bereits Sätze angelegt wurden. Da bei "NOT NULL" NULL als Unterlassungswert nicht zulässig ist, muss ein Defaultwert angegeben werden, damit die bereits bestehenden Sätze in der neuen Spalte mit einem Wert initialisiert werden können.
Aus diesem Grund muss beim Alter Table immer NOT NULL WITH DEFAULT angegeben werden.
Wenn Du übrigens über die Hilfe die Detail-Nachrichten von SQL0109 angeschaut hättest oder über die Messagefile den Detail-Text von Message-Id SQL0109 angezeigt hättest, hättest Du den folgenden Kommentar sehen müssen:
-- Die Klausel NOT NULL ist in der Definition einer Spalte, die zu einer Tabelle hinzugefügt wird, nicht zulässig, es sei denn, es ist ein Standardwert angegeben.
Birgitta
-
ALTER TABLE ... NOT NULL
Hallo Birgitta,
Vielen Dank für die Antwort.
Dass ein alter table add column mit NOT NULL nicht einfach auf eine "gefüllte" Tabelle losgelassen werden kann ist einleuchtend. In diesem Fall wird jedoch der Alter Table auf ein "leere" Tabelle ausgeführt.
Da das Verhalten bei Inserts mit NOT NULL WITH DEFAULT anderst ist als ohne Standartwerte kann ich die Option leider nicht anwenden (etwas komplexerer Hintergrund).
Wie gesagt kann ich folgende Beispielstatements anwenden:
1. alter table testtable add col1 varchar(50)
2. alter table testtable alter col1 set not null
Und das fehlerfrei ...
Elegant wäre es natürlich, wenn das alles in einem Statement (z. Bsp. "alter table testtable add col1 varchar(50) not null") definiert werden kann. Kann ich somit davon ausgehen, dass die AS/400 diese Option "noch" nicht unterstützt.
Viele Grüsse
Daniel
Similar Threads
-
By Matthias182 in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 03-12-07, 13:05
-
By Ewald in forum NEWSboard Programmierung
Antworten: 0
Letzter Beitrag: 25-01-07, 08:52
-
By deni87991 in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 04-08-06, 11:32
-
By Kampi4 in forum NEWSboard Programmierung
Antworten: 13
Letzter Beitrag: 25-11-05, 08:37
-
By woki in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 13-04-04, 13:09
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks