PDA

View Full Version : Interaktive SQL-Sitzungsconfiguration für Batch?



Souljumper
23-09-10, 14:28
Hallo,

wenn man mit STRSQL arbeitet, ist es ja möglich sich Felder aus einer Datei zu selektieren und diese in einer temporären Datei bereitzustellen. "Ausgabe in Datei" bei den Sitzungsattributen. Das ganze funktioniert angenehmerweise ohne Feldlängen oder ähnliches angeben zu müssen. Nach dem
select feld1,feld2,feld2 from datei
, steht eine datei bereit mit den entsprechenden feldern.

Diese Funktion würde ich gerne auch in SQL-RPG Programmen benutzen. Allerdings hab ich jetzt den Befehl für diese Sitzungsänderungen im nicht-interaktiven Programmbetrieb nicht finden können.

Das was interaktiv geht, muss auch im Batch gehen oder für automatisierte Programmausführungen verwendbar sein und nicht nur auf der Kommandozeile funktionieren?

Kann mir da jemand weiter helfen?

Fuerchau
23-09-10, 14:35
Das ist SQL-Standard:

create table mytable as
(select .....)
with data

Vor V5R4 musst du einfach per CRTDUPOBJ / CPYF die Kopie des Objektes erstellen und kannst dann per

insert into mycopytable
select * from myorigtable

kopieren.
Willst du gezielt Felder auswählen wirst du um ein Create Table nicht herumkommen. Wenn du allerdings die Spalten nicht immer änderst, kannst du die Tabelle einmalig als Muster erstellen und per CRTDUPOBJ/CPYF als Kopie erstellen.

BenderD
23-09-10, 14:43
... das genaue Pendant ist STRQMQRY... OUTPUT(*OUTFILE)
:Baldur: den Unterschied merkt man, wenn man an eine remot Database connected, dann wird bei create table as (select...) die Tabelle remote erstellt, der STRQMQRY mit OUTPUT(*OUTFILE) zerrt das über die Leitung rüber (wie der STRSQL auch) (ein nettes Feature mit ArdGate, Daten von MYSQL, Oracle und Co. einfach mal so auf die AS/400 holen!)


D*B


Hallo,

wenn man mit STRSQL arbeitet, ist es ja möglich sich Felder aus einer Datei zu selektieren und diese in einer temporären Datei bereitzustellen. "Ausgabe in Datei" bei den Sitzungsattributen. Das ganze funktioniert angenehmerweise ohne Feldlängen oder ähnliches angeben zu müssen. Nach dem
select feld1,feld2,feld2 from datei
, steht eine datei bereit mit den entsprechenden feldern.

Diese Funktion würde ich gerne auch in SQL-RPG Programmen benutzen. Allerdings hab ich jetzt den Befehl für diese Sitzungsänderungen im nicht-interaktiven Programmbetrieb nicht finden können.

Das was interaktiv geht, muss auch im Batch gehen oder für automatisierte Programmausführungen verwendbar sein und nicht nur auf der Kommandozeile funktionieren?

Kann mir da jemand weiter helfen?

Fuerchau
23-09-10, 14:53
Stimmt ja, aber er wollte es doch für SQLRPG haben ;).

BenderD
23-09-10, 15:16
... habe ich überlesen, weil ich mir eigentlich nicht vorstellen kann wofür man da eine temp Datei braucht...


Stimmt ja, aber er wollte es doch für SQLRPG haben ;).

holgerscherer
24-09-10, 08:06
... habe ich überlesen, weil ich mir eigentlich nicht vorstellen kann wofür man da eine temp Datei braucht...

Wenn man beim Auditieren das *NOQTEMP weglässt, öffnen sich einem manchmal die Augen ;-)

-h

BenderD
24-09-10, 08:28
... das ist aber meist Abteilung Datenschrank statt Datenbank



Wenn man beim Auditieren das *NOQTEMP weglässt, öffnen sich einem manchmal die Augen ;-)

-h