Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pravljenje petlji-sql

[es] :: Firebird/Interbase :: Pravljenje petlji-sql

[ Pregleda: 3578 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

darko_sudarov
ProConto Software doo
Kikinda

Član broj: 89262
Poruke: 136
82.208.201.*



Profil

icon Pravljenje petlji-sql27.06.2007. u 13:33 - pre 159 meseci
Pitanje je mozda trivijalno a mozda i nije,naime-potrebna mi je petlja(procedura -firebird 2.0) koja uporedjuje rezultate i na osnovu toga daje rezultat.

Primer:

tabela- proba

sa poljima - id kolicina oznaka
1 12 A
2 15 B
3 22 C
4 ..................
......................

ako korisnik ukuca broj 11 (imput parametar)rezultat je null
ako je broj 14 rezulatat je A (izmedju 12 i 15 rezultat je A (znaci >=))
ako je broj 22 rezultat je B (izmedju 15 i 22 rezultat je A)
itd...
nesto u fazonu do while ali sql-verzija.
Moze li se to napraviti?
 
Odgovor na temu

rambo
Dejan Petković
Beograd

Član broj: 6095
Poruke: 190
*.eunet.yu.



+6 Profil

icon Re: Pravljenje petlji-sql28.06.2007. u 00:40 - pre 159 meseci
Za ovo imaš dve mogućnosti:

1. koristi FOR SELECT konstrukciju i
2. rekurzivno pozivaj istu proceduru.

FOR SELECT se izvršava kao FOR petlja koja prolazi kroz sve zapise koji se dobijaju sa SELECt. Pogledaj malo dokumentaciju, pa ako zapneš javi.

Ako ti to odgovara, proceduru možeš da pozivaš rekurzivno (pozivaš istu proceduru iz nje same). Za ovu varijantu moraš da imaš jasno definisam princip kako dolaziš do rešenja problema, pa tek onda, ako rekurzija može da reši taj problem, koristiš ovakav način rada. Takođe, moraš da budeš dodatno obazriv da ne bi ušao u beskonačnu petlju.

Eto toliko za sada, iz glave. Ako ti treba neko konkretnije objašnjenje, pitaj.

"There is a theory which states that if ever anybody discovers exactly what the
Universe is for and why it is here, it will instantly disappear and be replaced by
something even more bizarre and inexplicable. There is another theory which states
that this has already happened."
-- Douglas Adams
 
Odgovor na temu

obucina

Član broj: 38191
Poruke: 723



+7 Profil

icon Re: Pravljenje petlji-sql17.07.2007. u 00:10 - pre 159 meseci
Code:

CREATE PROCEDURE P (
    PARAMETAR INTEGER)
RETURNS (
    REZULTAT VARCHAR (10))
AS
BEGIN
  FOR SELECT OZNAKA
    FROM PROBA
    WHERE KOLICINA < :PARAMETAR
    ORDER BY KOLICINA DESC
    INTO :REZULTAT
  DO
  BEGIN
    SUSPEND;
    EXIT;
  END
END

 
Odgovor na temu

[es] :: Firebird/Interbase :: Pravljenje petlji-sql

[ Pregleda: 3578 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.