Opet ja sa stored procedurom

Mirelica

Početnik
Poruka
25
Hocu sada da napisem stored proceduru koja apdejtuje odredjene zapise na osnovu njihovih ID brojeva. Parametar procedure treba da bude nesto kao niz. Posto Interbase nema nizovni tip podatka kako to da izvedem? Na primer:

update CLANOVI set PLACENO = 'Da' where ID_CLANA in (5, 23, 56, 135);

Ovih brojeva moze da bude onoliko koliko ih korisnik programa selektuje. Znaci treba mi nesto sto ce kao parametar da bude niz. Kako se ovo resava tamo gde nema nizova?
 
A sto ne ovako:

Kod:
type
  TNiz = array[1..100] of integer;

function CreateSQL(Size : integer; Niz : TNiz) : string;
var
  i : integer;
begin
  Result := 'update CLANOVI set PLACENO = Da where';
  for i := 1 to Size do
    begin
       if i > 1 then Result := Result + ' AND';
       Result := Result + ' ID_CLANA = ''' + IntToStr(Niz(i)) +'''';
    end;
end;

tako nesto
 
Nemanja666:
A sto ne ovako:

Kod:
type
  TNiz = array[1..100] of integer;

function CreateSQL(Size : integer; Niz : TNiz) : string;
var
  i : integer;
begin
  Result := 'update CLANOVI set PLACENO = Da where';
  for i := 1 to Size do
    begin
       if i > 1 then Result := Result + ' AND';
       Result := Result + ' ID_CLANA = ''' + IntToStr(Niz(i)) +'''';
    end;
end;

tako nesto
Resenje u paskalu, nije sporno. Ovo je dinamicko kreiranje upita, ali ja sam htela ovo da prepustim serveru. Da stored proceduri posaljem sadrzaj niza iz paskala kao jedan parametar.
Sve u svemu hvala na trudu...
 

Back
Top