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

procedura - pisanje

[es] :: Firebird/Interbase :: procedura - pisanje

[ Pregleda: 1029 | Odgovora: 7 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

brenas
srem

Član broj: 50753
Poruke: 65
*.dialup.neobee.net.



Profil

icon procedura - pisanje02.06.2006. u 20:46

POkusavam da napisem jednu jednostavnu proceduru ali i pored moje tvrdoglavosti nesto mi ne ide od ruke!
Imam bazu, konektovan sam na nju, u okviru baze imam tabelu "R" (tako se zove tabela).
Napisem proceduru:

create procedure procedura1 (izlaz char(10))
as
begin
select * from R
end
;
i tu nastaje problem. Kada god pokusam da kompajliram proceduru javlja mi kompajler gresku u poslednjem redu kod reci END. Probao sam da iza naziva tabele R stavim ";", ali nece ni sa tim da prodje. Gledam "help" u InterBase-u, ko' tele i ne vidim gresku. Sta radim pogresno?
02.06.2006. u 20:46 

dogriz
Sombor

Član broj: 29744
Poruke: 177
*.129.nat-pool-bgd.sbb.co.yu.



Profil

icon Re: procedura - pisanje02.06.2006. u 21:33
Code:
SET TERM ^ ;

CREATE PROCEDURE PROCEDURA1
RETURNS(IZLAZ CHAR(10))
AS
begin
  for
    SELECT NEKO_POLJE /*SAMO JEDNO, JER IMAS SAMO JEDAN IZLAZNI PARAMETAR, ZATO NE MOZE "*" */
    FROM R
    into :IZLAZ
  do
  suspend;
end^

SET TERM ; ^


Iz glave, nisam probao. Probaj pa javi da li radi.
02.06.2006. u 21:33 

brenas
srem

Član broj: 50753
Poruke: 65
*.dialup.neobee.net.



Profil

icon Re: procedura - pisanje02.06.2006. u 22:10
Pogresio sam sa objasnjenjem!
Nemam izlaznu promenljivu vec ULAZnu koju treba da uporedim sa necim u bazi.
02.06.2006. u 22:10 

dogriz
Sombor

Član broj: 29744
Poruke: 177
*.129.nat-pool-bgd.sbb.co.yu.



Profil

icon Re: procedura - pisanje03.06.2006. u 23:39
OK, a sta treba da ti vraca ta procedura?
03.06.2006. u 23:39 

brenas
srem

Član broj: 50753
Poruke: 65
*.dialup.neobee.net.



Profil

icon Re: procedura - pisanje04.06.2006. u 17:50
U tabeli imam dve kolone : Ime i Datum. Procedura treba da mi vrati ime za zadati datum. Probam sada to sa IBQuery-em , direktno iz koda Delphi-a na primer:
IBQuery1.Sql.Add('select ime from R where datum=" '+Edit3.Text+' " '); ali mi prilkom izvrsavanja Query-a uvek vraca poruku da ne moze da nadje kolonu sa nazivom koji u stvari predstavlja datum iz 'Edit' komponente. Probam i jedno i drugo ali nesto tu fali!
04.06.2006. u 17:50 

chachka
Srđan Mijatov
Subotica

Moderator
Član broj: 53780
Poruke: 493
*.tippnet.co.yu.

Sajt: www.baze-podataka.net


Profil

icon Re: procedura - pisanje05.06.2006. u 22:36
Citat:
brenas:
IBQuery1.Sql.Add('select ime from R where datum=" '+Edit3.Text+' " ');


Problem je u znacima navoda (") i u razmaku iza i i spred tih navodnika. Probaj sa apostrofom ('), ali moras staviti dvostruki apostrof.

Code:

IBQuery1.Sql.Add('select ime from R where datum='''+Edit3.Text+'''');

"The best code is no code at all." - Zidar
05.06.2006. u 22:36 

dogriz
Sombor

Član broj: 29744
Poruke: 177
*.129.nat-pool-bgd.sbb.co.yu.



Profil

icon Re: procedura - pisanje05.06.2006. u 22:40
Pretpostavljam da treba da ti vraca sva imena za zadati datum, pa bi procedura trebala da izgleda otprilike ovako:
Code:
SET TERM ^ ;

CREATE PROCEDURE PROCEDURA1(DATUM DATE)
RETURNS (IME CHAR(10))
AS
BEGIN
  FOR
    SELECT IME
    FROM R
    WHERE DATUM=:DATUM
    INTO :IME DO
  BEGIN
    SUSPEND;
  END
END^

SET TERM ; ^

05.06.2006. u 22:40 

brenas
srem

Član broj: 50753
Poruke: 65
*.dialup.neobee.net.



Profil

icon Re: procedura - pisanje06.06.2006. u 01:05
Probao sam proceduru - RADI! To je bas ono sto mi je trebalo!
HVALA!!!
06.06.2006. u 01:05 

[es] :: Firebird/Interbase :: procedura - pisanje

[ Pregleda: 1029 | Odgovora: 7 ]

Postavi temu Odgovori

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