Kann man aus einer Funktion in plsh ein set zurückgeben?
Folgendes habe ich versucht:
Code:postgres@postgresql ~ $ echo 'abc' >> test.txt postgres@postgresql ~ $ echo 'efg'>> test.txtCode:CREATE OR REPLACE FUNCTION shtest() RETURNS setof text AS $BODY$ #!/bin/sh cd /var/lib/postgresql cat test.txt exit 0 $BODY$ LANGUAGE 'plsh' VOLATILE;Sieht zunächst ganz gut aus, ist aber nur eine Zeile.Code:db=# select * from shtest(); shtest -------- abc efg (1 Zeile)
Oder anders:
Ich hätte aber gern eine Tabellenzeile pro Dateizeile.Code:db=# create table test (s1 text); CREATE TABLE db=# insert into test select * from shtest(); INSERT 0 1 db=# select * from test; s1 ----- abc efg (1 Zeile)
Vermutlich nicht, es nimmt das, was die Shell rückliefert, als einen Antwort-Text auf.
Aber Dir kann geholfen werden: zerteile den Text an den Zeilenenden, diese URL hier könnte Dir hilfreich sein:
http://archives.postgresql.org/pgsql...2/msg00080.php
Andreas
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Coole Sache das, danke.
Nun noch eine Frage:
Wie kann ich jetzt die Rückgabe von shtest() an Parameter 1 von split_to_row(text,text) übergeben ohne es in eine weitere Prozedur zu packen?
Ich komme ja von MSSQL und da deklariert man am Anfang eines Scripes oder Batches ein paar Variablen, über welche man dann die Werte übergibt oder auch verändert. Aber in Postgres kann man Variablen wohl nur in Funktionen verwenden.
Mit dem Umschreiben einiger Funktionen von MSSQL nach Postgres bin ich schon recht gut vorwärts gekommen. Aber was reine Scripte betrifft (welche ich recht häufig für Administration, Reporting usw. benutze), da habe ich generell noch das Problem wie man die Ergebnisse eines Schrittes in an den nächsten übergibt. Vielleicht könnt ihr mir hier mal auf den Sprung helfen.
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Links: Tobias Bauer - IT- und Funkdienstleistungen - Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen - Funkforum
Lesezeichen