Avatar billede ulrikp Nybegynder
18. januar 2003 - 16:57 Der er 5 kommentarer

SQL, constraint

Jeg får følgende fejl:

Server: Msg 156, Level 15, State 1, Line 4
Incorrect syntax near the keyword 'ON'.

...når jeg eksekverer følgende SQL-sætning via Query analyzeren i MS SQL Server 7.0:

ALTER TABLE PAGE
ADD CONSTRAINT pageFK
FOREIGN KEY(TemplateId) REFERENCES TEMPLATE(ID)
ON DELETE CASCADE

Tabellerne PAGE og TEMPLATE eksisterer, og det jeg gerne vil, er at definere TemplateId-attributten i tabellen PAGE som fremmednøgle til primær-nøglen ID i tabellen TEMPLATE. Hvis der slettes en record i TEMPLATE skal de tilsvarende records i PAGE også slettes!
Avatar billede ulrikp Nybegynder
18. januar 2003 - 17:16 #1
Jeg tror simpelthen ikke det er muligt at angive ON DELETE CASCADE i.f.m. fremmednøgler i SQL7.0!! Er der nogen der kan be-/afkræfte det?
Avatar billede _darkstar_ Nybegynder
18. januar 2003 - 18:12 #2
Avatar billede arne_v Ekspert
18. januar 2003 - 21:43 #3
Lav en DELETE TRIGGER på TEMPLATE tabellen der sletter i PAGE Tabellen.
Avatar billede ulrikp Nybegynder
20. januar 2003 - 08:52 #4
Jeg prøvede at lave en trigger, men den virker ikke, fordi constraint-reglerne tjekkes inden delete, tror jeg... Derfor har jeg flyttet ansvaret for cascade-sletning m.m. ud i programmerne, som arbejder op mod databasen.
Avatar billede terry Ekspert
26. januar 2003 - 13:56 #5
ulrikp>please respond to this question http://www.eksperten.dk/spm/302365
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