Meine letzte Frage Passing an array to stored to postgres war ein bisschen unklar. Nun, um mein Ziel zu verdeutlichen:Unnest mehrere Arrays parallel
Ich möchte eine Postgres gespeicherte Prozedur erstellen, die zwei Eingabeparameter akzeptiert. Eine wird eine Liste von einigen Mengen wie zum Beispiel (100, 40.5, 76)
sein und die andere wird eine Liste von einigen Rechnungen sein('01-2222-05','01-3333-04','01-4444-08')
. Danach möchte ich diese zwei Listen von Zahlen und Zeichen verwenden und etwas damit machen. Zum Beispiel möchte ich jeden Betrag aus diesem Zahlenfeld nehmen und ihn der entsprechenden Rechnung zuordnen.
So etwas in Oracle würde wie folgt aussehen:
SOME_PACKAGE.SOME_PROCEDURE (
789,
SYSDATE,
SIMPLEARRAYTYPE ('01-2222-05','01-3333-04','01-4444-08'),
NUMBER_TABLE (100,40.5,76),
'EUR',
1,
P_CODE,
P_MESSAGE);
Natürlich sind die zwei Typen SIMPLEARRAYTYPE
und NUMBER_TABLE
früher in DB definiert sind.
Was genau unklar ist? Wie nennt man diese Art von Funktionen? Sie können die Array-Konstruktoren http://www.postgresql.org/docs/current/static/sql-expressions.html#SQL-SYNTAX-ARRAY-CONSTRUCTORS verwenden oder Sie können ihre Eingabedarstellung in eine Zeichenfolge schreiben (verwenden Sie dann optional Casting)) http://www.postgresql.org/docs/current/static/arrays.html#ARRAYS-IO – pozs
Ich weiß nicht, wie man gespeicherte Proc mit diesen Arten von Eingabeparametern erstellt. – Maki
Das ist auch in Ihren vorherigen Fragen abgedeckt (zB http://stackoverflow.com/questions/27708234/pl-pgsql-control-structures-for-lists-arrays) - Sie können den Standard verwenden Kompatibel ' ARRAY', oder die PostgreSQL spezifische' [] 'Syntax. http://www.postgresql.org/docs/current/static/arrays.html#ARRAYS-DECLARATION –
pozs