PDA

View Full Version : SQL-Statement in Datei ausgeben



Proggi
14-09-05, 12:48
Hallo,

kann man eigentlich folgendes machen:

Ich habe mehrere SQL-Anweisungen in einer SRC-Datei gespeichert. Diese wird per STRSQLSTM aufgerufen. Nun möchte ich aber, dass das Ergebnis in eine Datei ausgegeben wird.

Beispiel:
Sourcedatei "STAT"

select nummer, name from kundenstamm
select nummer, umsatz from statistik

CL-Programm "STAT01CL"

runsqlstm srcfile(lib/srcfile) srcmbr(STAT)

Ist das möglich? Über RUNQMQRY geht das, da muss ich aber alle Anweisungen einzeln aufrufen.

malzusrex
14-09-05, 13:03
create view MyLib/MyView1
as
Select nummer, name from kundenstamm;
Create View MyLib/View2
as
Select nummer, umsatz from statistik


das sollte helfen

Proggi
14-09-05, 13:15
Hi,

Danke, das sieht schon ganz gut aus, aber ist leider noch nicht das, was ich mir vorstelle. Und zwar schwebt mir sowas vor wie im Query, dort kann man als Ausgabe "Datei" angeben, dann wird eine neue Datei erstellt. Diese kann ich dann nach Herzenslust bearbeiten.

CREATE VIEW erstellt eine logische Sicht auf die Originaldatei, welche ich dann mit einem CPYF kopieren könnte. Dann müsste ich anschließend noch die VIEW wieder löschen.

Wenn ich STRSQL aufrufe, kann ich die Ausgabeform ändern, so etwas schwebt mir über den CL-Befehl vor.

Hinweis: Auch die Möglichkeit mit INSERT INTO ... mit anschließendem SELECT ist nicht die optimale Lösung, da ich hier die Tabelle vorher erstellen muss.

Fuerchau
14-09-05, 14:19
Das bleibt eben "echten" SQL's vorbehalten.
RUNSQLSTM führt eben einfach die SQL's aus und sonst nichts.
Überführe die SQL's eben in QM-Queries, dann hast du wieder alle Möglichkeiten.

Ähnliches gilt ja auch für CLP's: Viele wünschen sich auch das Schreiben in Datenbanken. Das bleibt eben HLL's vorbehalten.

Proggi
14-09-05, 14:24
Jo, danke, das hatte ich mir schon so gedacht. Wäre ja auch zu schön gewesen ;)

Guenther
14-09-05, 15:39
Proggi,

für die SELECT statements brauchst du eigentlich kein SQL. Warum nimmst du nicht QUERY?

Fuerchau
14-09-05, 16:58
Das ist immer eine Frage der Lizensierung.
Wenn kein Query gekauft wurde, läßt sich ein Query nicht ausführen.
RUNSQLSTM ist nur verfügbar wenn auch SQL (also STRSQL) verfügbar ist.

QM-Queries können mittels STRQMQRY immer verwendet werden und zwar unabhägig von der Verfügbarkeit obiger Produkte.
Dieser kann u.U. auch QRYDFN-Objekte (also mit WRKQRY erstellte) ausführen selbst wenn Query nicht installiert ist.

Da QM-Queries auch andere Kommandos können (nämlich sämtliche SQL's) und eben auch Parameter unterstützen ist dies erheblich komfortabler als RUNSQLSTM.