Avatar billede hotshot Nybegynder
04. april 2001 - 15:35 Der er 15 kommentarer og
1 løsning

Stored procedures

Jeg skal oprette stored procedures i Interbase 6 ved hjælp af SQL, men jeg kan ikke få syntaksen korrekt.
Jeg har prøvet følgende:

create procedure HentKontaktpersoner
as
  select * from Kontaktperson
  order by PersonId DESC

Hvad er forkert ??????
Avatar billede agermose Nybegynder
04. april 2001 - 15:39 #1
Der skal vist et begin end omkring din select og så et \";\" efter din select
Avatar billede martinlind Nybegynder
04. april 2001 - 15:42 #2
Fra Hjælpen :

SET TERM !! ;
CREATE PROCEDURE DELETE_EMPLOYEE (EMP_NUM INTEGER)
AS
DECLARE VARIABLE ANY_SALES INTEGER;
BEGIN
ANY_SALES = 0;
LANGUAGE REFERENCE 165
IF (ANY_SALES > 0) THEN
BEGIN
EXCEPTION REASSIGN_SALES;
EXIT;
END

END !!

Du skal huske \"SET TERM\" da du skal ændre din terminator så du kan bruge \";\" inden i proceduren

/Martin
Avatar billede martinlind Nybegynder
04. april 2001 - 15:43 #3
Prøv sådan :

SET TERM !!
create procedure HentKontaktpersoner
as
BEGIN
  select * from Kontaktperson
  order by PersonId DESC
END
END !!
Avatar billede hotshot Nybegynder
04. april 2001 - 21:50 #4
Hej Martin

Jeg har prøvet dit eksembel og fik fejlen Token unknown på det første end.
Har du et løsningsforslag

Thomas
Avatar billede martinlind Nybegynder
05. april 2001 - 10:08 #5
Det var sku da underligt det var et klip fra hjælpen jeg tog, hmmm.... jeg finder lige et eksempel og vender tilbage.
Avatar billede hotshot Nybegynder
05. april 2001 - 10:13 #6
Det lyder godt, da jeg selv har opgivet at bruge hjælpen, da den ikke er meget bevendt.
Avatar billede martinlind Nybegynder
05. april 2001 - 10:21 #7
Jo da, der er da PDF filer og nogle Hlp., var det ikke IB 6.0 du havde
Avatar billede martinlind Nybegynder
05. april 2001 - 10:44 #8
Meget mærkeligt, den vil ikke æde en skid, men der står i hjælpen at det kun er ISQL der bruger SET TERM, men jeg bliver nødt til at kaste mig over arb. nu så jeg kan ikke lige komme med løsningen nu, sorry.

/Martin
PS. jeg vil gerne høre om du finder en løsning, ellers vender jeg tilbage senere i dag.
Avatar billede hotshot Nybegynder
05. april 2001 - 11:07 #9
Hej Martin
Jeg må nok sige, at jeg har opgivet, da jeg har andre projektopgaver, så hvis du kunne finde tid til at prøve og finde en løsning, vil jeg være dig evig taknemlig

Thomas
Avatar billede martinlind Nybegynder
05. april 2001 - 11:11 #10
Det tror jeg at jeg kan for det er da ski....

Så jeg skal se om jeg kan få det til at virke, det kunne jo være man selv stod og skulle bruge det.
Avatar billede agermose Nybegynder
05. april 2001 - 11:13 #11
der mangler en del ting i din procedure. Der mangler stadig et \";\" efter din select, men der mangler også output variable, og en \"into\" på din select, samt en \"suspend\".

Dokumentationen til IB6 fejler ikke noget
Avatar billede martinlind Nybegynder
05. april 2001 - 11:17 #12
agermose >> prøv lige med et eks. ( der er testet )
Avatar billede agermose Nybegynder
05. april 2001 - 11:21 #13
term !! ;
create procedure test returns (id integer)
as
begin
  select id from mytable into :id;
  suspend;
end !!
Avatar billede martinlind Nybegynder
05. april 2001 - 11:36 #14
med version WI-V6.0.0.627

Virker det ikke med IBConsole og den ISQL der er med.

\"term\" kendes ikke.
Avatar billede agermose Nybegynder
05. april 2001 - 11:45 #15
undskyld,

set term !! ;
Avatar billede hotshot Nybegynder
05. april 2001 - 12:19 #16
Hej Agermose
Det virkede sgu. Mange tak
Også mange tak til dig Martin

Thomas
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester