-
Hallo,
ist doch schön zu hören das es noch Leute gibt die mit Progress arbeiten.
Hatte in den 90er Jahren lange und intensiv damit gearbeitet, und muß sagen das war eine Datenbank und Programmiersprache die ich wirklich toll fand.
GG
-
Mit der Erweiterung von Tabellen, insb. DDS, würde ich vorsichtig sein, da ja meistens eine Vielzahl anderer OPM/ILE-Programme darauf zugreifen und bei Änderung auf die Schnautze fallen.
Zusätzlich ist dann das Vergeben der ID nicht unproblematisch, da dies beim WRITE/INSERT in jedem Programm gemacht werden muss.
Es stellt sich daher auch die Frage (wie Dieter schon sagt), was Progress denn da benötigt.
Meist reicht da die Definition einer LF mit UNIQUE-Key. Man muss dann ggf. auf die LF und nicht die PF zugreifen.
Manche Programmierumgebungen kommen auch nicht damit zurecht, wenn mehr als 31 LF's an einer PF hängen und somit der Verweis auf die LF eher Erfolg verspricht (z.B. MS-Access).
-
'kein column id Satz verfügbar'
Anscheinend ist das nur grausig übersetzt. Oder ?
Wenn eine eindeutige RowId gemeint ist, ok, dann erstellt man mit SQL eben so ein Zusatzfeld, und definiert in den Contraints, daß es automatisch gefüllt und hochgezählt wird. Beim INSERT läßt man dieses Feld einfach weg, denn die Datenbank erzeugt es wirklich selber.
Beim Lesen und Updaten ist es doch ganz vorteilhaft, die Rows damit leicht unterscheiden zu können. Daß das Feld selber aber auch nicht upgedatet werden kann, ist wohl logo.
Leider kenne ich kaum klassische AS400-Anwendungen, die so was benutzen. Um die Java-Programmierer aber glücklich zu machen, habe ich bei meinen Tabellen oft so ein Feld hinten angefügt, und es ansonsten komplett ignoriert.
-
gelöst....
Vielen Dank für die Antworten. Es handelt sich hier um eine zusätzliche Identitätsspalte, die von der AS400 selbst gefüllt wird - praktisch einen tabelleninternen Schlüssel.
Jedes numerische Feld kann man als diesen Schlüssel definieren der dann auch bei write Operationen ohne SQL korrekt weitergezählt wird.
Das Feld CID als solche column ID wird z.B. so erstellt :
CID NUMERIC(15, 0) GENERATED ALWAYS AS IDENTITY
(START WITH 1 INCREMENT BY 1
NO MINVALUE NO MAXVALUE
CYCLE NO ORDER
CACHE 20 )
Leider kann man an mit DDS definierten Tabellen solche Spalten nicht hinzufügen, es gibt auch kein DDS Schlüsselwort dafür.
-
Ja, genau das meinte ich auch.
Es ist übrigens gar nicht schwer, mit DDS definierte Datenbankdateien im interaktiven SQL zu selektieren, und mit F13 eine SQL-Ausgabedatei zu erstellen, die dann nicht mehr die DDS-Merkmale trägt. Bei dieser Kopie kann man dann in einem zweiten Schritt leicht die Identity-Colum mit ALTER TABLE hinzufügen, denke ich.
-
Mit dem SQL-Befehl Alter Table kann man auch DDS-beschriebene physische Dateien verändern und SQL Informationen integrieren (z.B. Identity columns).
Für ein erneutes Erstellen sollte man sich dann den SQL-Code über den iSeries Navigator (auf die Tabelle positionieren, Rechtsclick und SQL generieren auswählen) und am besten in ein Source Member sichern. Mit RUNSQLSTM könnte dann die Datei (basierend auf dem SQL-Befehl) erneut erstellt werden.
Birgitta
-
ja und nein
Wenn die Datei mit DDS erstellt wurde, kann ich mit alter table keine column id einfügen.
Wenn ich die Datei mit SQL neu erstelle, kann ich mit alter table einfügen, was ich will.
Similar Threads
-
By olafu in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 05-10-06, 09:13
-
By rcauchy in forum NEWSboard Windows
Antworten: 1
Letzter Beitrag: 23-06-05, 14:28
-
By sim in forum NEWSboard Programmierung
Antworten: 9
Letzter Beitrag: 23-12-04, 10:48
-
By Helwo in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 19-03-02, 10:01
-
By hpw in forum IBM i Hauptforum
Antworten: 10
Letzter Beitrag: 09-03-01, 11:38
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