PDA

View Full Version : create table in QTEMP



muadeep
24-05-11, 13:40
hallo *all

ich hab da mal wieder ein Problem (welches ich nicht verstehe) mit SQL

beim erstellen einer Tabelle/Datei in QTEMP erhalte ich immer eine Fehlermeldung
(SQL-Code siehe unten)


SQL7008 - Ursachencode ist 10.
10 - Integritätsbedingung oder Auslöser wird einer ungültigen Tabellenart
hinzugefügt, max. Anzahl Auslöser wurde erreicht, oder die Knoten der
verteilten Tabelle verfügen nicht über denselben Release-Stand.erstelle ich diese Tabelle/Datei aber nicht in QTEMP sondern einer "normalen" Bibliothek, dann funktioniert es ohne Probleme.

lasse ich den "primary Key" weg, dann kann ich die Tabelle/Datei auch in der QTEMP erstellen!


create TABLE QTEMP/xyz (FELD1 char ( 3) not NULL,
FELD2 dec ( 7, 0),
FELD3 dec ( 5, 0),
FELD4 char ( 6) not NULL,
primary Key (FELD1, FELD2, FELD3))

B.Hauser
24-05-11, 14:14
Primary oder Unique Key Constraints sind für Tabellen in der QTEMP nicht zulässig (das sagt auch die Fehlermeldung).

Wofür benötigst Du den Primary Key überhaupt?

Wenn's nur für die Sortierung ist, kannst Du beim Zugriff über SQL einen entsprechenden Order By angeben.

Sofern die Daten über SQL in die Tabelle gestellt werden, kannst Du auch beim Insert mit Sub-Select einen Order By angeben.

Noch eine Frage brauchst Du überhaupt eine temporäre Datei?
Die Erfahrung hat gezeigt, dass die meisten temporären Dateien durch geschickte Views ersetzt werden können.

Birgitta

holgerscherer
24-05-11, 14:56
(das sagt auch die Fehlermeldung).


Nuja, über die Aussagekraft mancher IBM-Fehlermeldung könnten wir jetzt streiten ;-)

-h

muadeep
25-05-11, 06:23
@B.Hauser

ist eigentlich nur eine "Zwischendatei", auf die ich dann mit ILE-Pgm. zugreifen wollte!

=> aber wenn ich in der QTEMP keine indexierte Datei erstellen kann, dann hat es sich eh erledigt!

thx

B.Hauser
25-05-11, 06:48
... aber, du kannst einen Index auf die temporäre Datei erstellen.

Auch wenn ein SQL Index in SQL selber nicht angesprochen werden kann, kann ein SQL Index kann in RPG wie jede geschlüsselte DDS beschriebene (logische) Datei verarbeitet werden, (d.h. in den F-Bestimmungen definiert und mit READ, CHAIN ... verarbeitet werden).

Birgitta

Fuerchau
25-05-11, 08:01
Wenn du schon mit SQL in ILERPG arbeitest, warum noch eine Zwischendatei für die selektierten Daten ?
Ich würde da die Logik mal überdenken.