hab mich schon gewundert, warum so lange keiner zurückschreibt:
GET_DICENTRIES_BY_ASDSKRPT ist NICHT dazu da, um mir zu sagen, ob ein token in dicentries enthalten ist..du hast recht; dazu hätte eine select gereicht...wer's genau wissen will:
SQL-Code:
CREATE PROCEDURE GET_DICENTRIES_BY_ASDSKRPT (
ASDSKRPTINPUT
VARCHAR(15))
RETURNS (
ID BIGINT)
AS
begin
for
select d.id
from dicentries d
left join dskrptlink_dicentries
dl on d.id =
dl.id_dicentry
left join dskrpts ds
on dl.id_dskrpt = ds.id
where ds.asdskrpt = :ASDSKRPTINPUT
into :id
do
suspend;
end^
was das genau soll, würde zu lange dauern zu erklären - auf jeden fall macht die sp was sie machen soll
ich brauche jetzt also eine sp "get_dicentries_by_all_asdskrpts" die einen tokenized string (zum BEISPIEL: 'bla.bli.blo.blu') entgegenimmt, dann für JEDEN token CREATE PROCEDURE GET_DICENTRIES_BY_ASDSKRPT(token) ausführt und mir die SCHNITTMENGE daraus zurückgibt (aber so, dass die anzahl der token nicht auf vier beschränkt ist, sonder variabel ist)
die schnittmenge also aus:
select * from (CREATE PROCEDURE GET_DICENTRIES_BY_ASDSKRPT('bla')), select * from (CREATE PROCEDURE GET_DICENTRIES_BY_ASDSKRPT('bli')), select * from (CREATE PROCEDURE GET_DICENTRIES_BY_ASDSKRPT('blo')) und select * from (CREATE PROCEDURE GET_DICENTRIES_BY_ASDSKRPT('blu') zurückgibt)
Um Rekursion zu verstehen, muss man zunächst Rekursion verstehen.