Ich möchte das Ergebnis einer Abfrage als Eingabe in einer anderen Abfrage verwenden. Was könnte es schwierig machen: Die Variable ist das Schema in der Datenbank.db2 verwenden Abfrageergebnis in Variable
CREATE or replace VARIABLE myschema varchar(15) ;
set myschema = (select owner from syscat.tables where tabname = 'xyz');
select count(name) as result from myschema.USR02 where USTYP = 'A';
DROP VARIABLE myschema;
Dies ist mein letzter Versuch, nachdem ich mit deklarieren fehlgeschlagen ist. Aber ich bekomme einen Fehler, weil "myschema" als String verwendet wird, und natürlich gibt es kein Schema mit dem Namen "myschema". Das Ergebnis der ersten Abfrage wird nicht verwendet.
Wenn ich nur die ersten zwei Zeilen ausführen, bekomme ich das Schema als Ergebnis. Muss ich die Variable besonders kennzeichnen? Das Ziel ist nur das Ergebnis der Abfrage in Zeile 3, indem der dynamische Wert von "myschema" verwendet wird.
Leider habe ich keinen Schreibzugriff auf die Datenbanken. Der Code ist in ein Skript integriert und der angegebene Benutzer ist schreibgeschützt. Ich würde die Abfragen sequentiell ausführen und das Ergebnis in einer Variablen speichern, aber das ist nicht möglich. Also mein Ziel muss sein: Holen Sie beide Informationen in einer Abfrage mit dem angegebenen Benutzer. – rysk
@rysk, Sie sollten in der Lage sein, eine Sitzungstabelle für diese Methode zu verwenden ('globale temporäre Tabelle deklarieren ...'), selbst wenn Sie einen schreibgeschützten Benutzer haben. –