Firebird tárolt eljárás hívása "tömb" típusú paraméterrel?

Firebird tárolt eljárás hívása "tömb" típusú paraméterrel?
2006-03-03T16:07:54+01:00
2006-03-05T08:18:02+01:00
2022-10-29T12:42:02+02:00
kardosi
Srácok!

Firebird adatbázishoz szeretnék tárolt eljárást írni, aminek egyik bemenő paramétere tömb típus lenne. Kicsit kotorásztam a netet, a Firebird doksiját és adáig jutottam, hogy ezt direkt módon nem lehet megcsinálni!
Ugyanis a Firebird tárolt eljárása NEM tud tömböt fogadni...
Viszont találkoztam egy trükkös megoldással:
A tömb elemeit Delphiben összefűzöm egy sztringgé úgy, hogy az egyes elemek közé teszek egy elválasztójelet:
Pl. Telefonszámokat akarok tárolni, csinálok egy ilyet:
"701234567x301234567x201234567"
Ez ugye 3 db telefonszámot tartalmaz...
Ezt a sztringet pedig szét kellene szednem a tárolt eljáráson belül!
(Delphiben meg tudom csinálni, de tárolt eljáráson belül...)
Ez az amit nem tudok megcsinálni, ehhez kérnék tőletek segítséget!
Ha tudnátok adni egy bővebb információt tartalmazó linket a Firebird tárolt eljárásának nyelvezetéről, az is nagyon jó lenne!

Köszönöm előre is!
Mutasd a teljes hozzászólást!
egy helyen igy oldottam meg a tarolt eljarasban a string feldolgozasat, de oszinten szolva nem nagyon tetszik, ha valaki tud jobbat, szoljon:

SET TERM ^ ; CREATE PROCEDURE TAROLTELJARAS ( IN_ST Varchar(128) ) AS DECLARE VARIABLE i INTEGER; DECLARE VARIABLE j INTEGER; DECLARE VARIABLE d CHAR(1); BEGIN i=1; j=STRLEN(IN_ST); WHILE( i<=j ) DO BEGIN d = SUBSTR(IN_ST,i,i); . . . i = i+1; END END^ SET TERM ; ^

ehhez het udf fuggvenyt is kell krealni az adatbazisodban (strlen es substr).
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd