So cih möchte jetzt einen String für "FOR my_record IN EXECUTE ..." erzeugen. Nun hab ich gelesen, dass man Variablen im String mit zusammensetzen soll, also 'blubb' || var
Nun habe ich aber ein Array und das kann ich natürlich nicht mit || mit dem String verketten, weils eben ein Array ist:
udn e_lang sieht so aus: {"de","en"}
wenn ich das e_lang einfach in den String mit reinschreibe, dann sagt er mir er kennt die Spalte e_lang nicht. Das ist aber ein Parameter, den ich an die DB - Funktion mit übergebe, den gibts also definitiv. Wie löse ich dass denn jetzt, dass ich den String für das execute erzeugen kann udn dort das Array auch enthalten ist ?
Nun habe ich aber ein Array und das kann ich natürlich nicht mit || mit dem String verketten, weils eben ein Array ist:
C:
'...
AND pl.language_id IN (SELECT (' || e_lang || ')[s] FROM generate_series(1, array_upper(' || e_lang || ', 1)) as s)'
udn e_lang sieht so aus: {"de","en"}
wenn ich das e_lang einfach in den String mit reinschreibe, dann sagt er mir er kennt die Spalte e_lang nicht. Das ist aber ein Parameter, den ich an die DB - Funktion mit übergebe, den gibts also definitiv. Wie löse ich dass denn jetzt, dass ich den String für das execute erzeugen kann udn dort das Array auch enthalten ist ?
Zuletzt bearbeitet: