Just nu i M3-nätverket
Gå till innehåll

problem med trigger i Interbase


johnJ

Rekommendera Poster

Jag kör Interbase 6.5 i Windows.

Jag vill få en kolumn autoincrement men har lite problem med detta.

 

Generatorn är skapad:

CREATE GENERATOR "FB_GENERATOR";

Men när triggern ska skapas så klagar den, syntax fel ?? Fattar inte.

 

CREATE TRIGGER FB_GenereteId FOR Fb
ACTIVE BEFORE INSERT
AS
BEGIN
   new.FBNR = gen_id(FB_Generator, 1);
END

ger felet

Dynamic SQL Error

SQL error code = -104

Unexpected end of command

Statement: CREATE TRIGGER FB_GenereteId FOR Fb

ACTIVE BEFORE INSERT

AS

BEGIN

new.FBNR = gen_id(FB_Generator, 1)

 

 

 

??

Mvh. John

 

[inlägget ändrat 2002-09-05 17:07:49 av johnJ]

Länk till kommentar
Dela på andra webbplatser

Om jag kör utan ; dvs:

CREATE TRIGGER FB_GenereteId FOR Fb
ACTIVE BEFORE INSERT
AS
BEGIN
new.FBNR = gen_id(FB_Generator, 1)
END

 

så blir felet

 

Dynamic SQL Error

SQL error code = -104

Token unknown - line 6, char -1

END

Statement: CREATE TRIGGER FB_GenereteId FOR Fb

ACTIVE BEFORE INSERT

AS

BEGIN

new.FBNR = gen_id(FB_Generator, 1)

END

 

/John

 

 

Länk till kommentar
Dela på andra webbplatser

internet är inte så stort trots allt :)

det var den sida jag kollade på först när jag tog reda på hur man skulle göra autoincrement.

 

Jag har testat !! efter END men det ger samma fel som i mitt första inlägg.

Här även sett att det kan vara ^ efter end på några ställen men det ger också samma felmedd.

 

/John

 

 

Länk till kommentar
Dela på andra webbplatser

Så här ska den se ut:

 

 
SET TERM !! ;
CREATE TRIGGER FB_GenereteId FOR Fb
BEFORE INSERT
AS
BEGIN
NEW.FBNR = GEN_ID(FB_Generator, 1);
END !!
SET TERM ; !!

 

Eftersom varje uttryck måste termineras med ett semikolon måste terminatorn tillfälligt bytas ut med SET TERM.

[inlägget ändrat 2002-09-05 23:46:22 av harrykurry]

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...