• 3 odgovora
  • 3.462 pregleda
select into..(array) 16.10.2006. u 16:29 · pre 243 meseci #1
Ovo bi trebalo da je lako,ali...
Treba mi select naredba koja obeležje iz tabele u bazi stavlja u niz.
Re: select into..(array) 17.10.2006. u 07:51 · pre 243 meseci #2
declare
TYPE t_CUST IS RECORD (atributA number, atributB varchar2(100),atributC number);
p_CUST t_CUST;
begin
select custno, custname, itno
into p_CUST
from CUSTOMER
where rownum <2;

end;

/*TIP PODATAKA U NIZU I TIP PODATAKA IZ UPIT MORAJU BITI KOMPATIBILNI, KAO I BROJ CLANOVA NIZA, NARAVNO*/
Potpis
/*A sad odo` malo napolje*/
Re: select into..(array) 17.10.2006. u 12:20 · pre 243 meseci #3
Prethodni odgovor je nepotpun, to je samo smeštanje jednog sloga u record. Za smeštanje u niz koristi se opcija BULK COLLECT. Evo dela iz jednog od mojih programa gde se ovo koristi:

Code:

      open m(vBaseCurrency,
             Setup(7).Val,
             d.posting_date,
             nvl(vOppBalDate, d.posting_date + to_number(Setup(8).Val)));
      fetch m bulk collect
        into TrM;
      close m;


Ovde je "m" kurzor sa parametrima dok je TrM definisano na sledeći način:

Code:

  cursor m(Bscur in number, -- Base currency
  KntIgn in varchar2, -- Acc code to ignore (revaluation)
  PstDate in date, -- posting date
  PrvWrDay in date -- Previous working date
  ) is
...  
  type mTab is table of m%rowtype;
    TrM     mTab;

Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme