Übergeben von Arrays als parameter in DB2 Gespeicherte Prozedur

Ich bin versucht, eine gespeicherte Prozedur erstellen, die nimmt ein array als parameter und in der WHILE-Schleife durchläuft das array und fügt die chars in eine Tabelle ein.

Zum Beispiel wenn ich ein array ['a','b','c'] ich würde wollen, diesen in meine gespeicherten Prozedur und die Zeichen 'a' , 'b' und 'c' werden in eine Tabelle.

Meine SP erstellt wurde, aber ich habe Probleme, wenn ich versuche zu nennen, meine Vorgehensweise. Kann jemand mir gegenüber wie ein array übergeben? Meine Vorgehensweise ist wie folgt....

    DROP PROCEDURE DB.LWRH_DYNAMIC_SP@
create type stringArray as VARCHAR(100) array[100]@
CREATE PROCEDURE DB.LWRH_SP
(
    IN list stringArray
)
LANGUAGE SQL
BEGIN
    DECLARE i, MAX INTEGER;
    DECLARE c CHAR(1);
    SET i = 0;
    SET MAX = CARDINALITY(list);
    WHILE i <= MAX DO
    SET c = list[i];
    INSERT INTO schema.test ("SERVICE TYPE")values (c);
    END WHILE;

END@

CALL DB.LWRH_SP('')@ 
Dupliziert Frage? Lesen Sie diese : gewusst Wie: übergeben Sie ein array in eine SQL Server-gespeicherte Prozedur
Dies ist DB2, die in einem völlig anderen Produkt. Dinge wie die Unterstützung für array-Parametern ist nicht einheitlich.
Ich bin mit DB2 und ich wollen einfach nur zu rufen Sie die Prozedur mithilfe von SQL. Ich bin nicht mit C, Java oder einer anderen Sprache. Also, ich glaube nicht, dass dies ein Duplikat ist.
Ich habe es geschafft, eine Arbeit zu finden, um für dieses problem. Ich verwendet eine VARCHAR-wie die input-param und Durchlaufen jeden CHAR. Aber eine Antwort würde immer noch geschätzt werden. Danke.

InformationsquelleAutor LiamWilson94 | 2014-12-02

Schreibe einen Kommentar