Avatar billede copeland Nybegynder
10. april 2002 - 11:17 Der er 11 kommentarer og
1 løsning

Slette relaterede records på SQL7

Der er en funktion på SQL server 2000 hvor man i Diagrams kan opsætte forskellige relationer imellem tabellerne, her er der en funktion "Cascade Delete Related Records" som gør at når men sletter en post, så sletter den alle relaterede records.....hvor er denne funktion, eller muligheder for samme på SQL7server?

mvh
Anne
Avatar billede terry Ekspert
10. april 2002 - 11:30 #1
NO it isnt available in SQL Server 7.0
You could do this with a TRIGGER
Avatar billede terry Ekspert
10. april 2002 - 11:35 #2
EXAMPLE:
CREATE TRIGGER [trDeleteDetail] ON [tblOrder]
FOR DELETE AS

DECLARE
@OrderID int

SELECT
@OrderID = OrderID

FROM deleted

/*Delete Detail*/
Delete FROM tblDetail WHERE OrderID = @OrderID
Avatar billede terry Ekspert
10. april 2002 - 15:13 #3
copeland>Hows it going with this question?
Avatar billede copeland Nybegynder
10. april 2002 - 16:07 #4
Jeg er ikke helt sikker på hvordan man laver TRIGGER, hvis jeg nu for forståelsens skyld har to små tabeller:

TABEL1
KatID
KatName

TABEL2
SubID
KatID
SubName

De rellaterer så på KatID, når jeg sletter en post i TABEL1 skal alle posteri TABEL2 med samme KatID slettes, men hvor og hvordan skriver jeg dette i SQL7.....?


mvh
Anne
Avatar billede terry Ekspert
10. april 2002 - 18:30 #5
You can create a trigger by right clicking on the table (TABEL1) and choose ALL TASKS then MANAGE TRIGGERS. Then in the window enter this:

CREATE TRIGGER [trDeleteDetail] ON [TABEL1]
FOR DELETE AS

DECLARE
@KatID int

SELECT
@KatID = KatID

FROM deleted

Delete FROM TABEL2 WHERE KatID = @KatID

An explanation!
This is a delete trigger which gets triggered (started) when you delete a record from TABEL1
In the trigger you have access to the DELETED record where you select the KatID which is used to delete all the records from TABEL2 which have a KatID = KatID from TABEL1

Hope you understand now!
Avatar billede terry Ekspert
11. april 2002 - 08:31 #6
Anne! Hows it going?
Avatar billede terry Ekspert
11. april 2002 - 21:15 #7
Are we getting there?
Avatar billede terry Ekspert
11. april 2002 - 21:16 #8
You can also run the SQL in query analyzer!
Avatar billede copeland Nybegynder
12. april 2002 - 09:22 #9
Undskyld ventetiden...

Jeg vil lige teste det nu og så vender jeg tilbage.


Anne
Avatar billede terry Ekspert
15. april 2002 - 08:13 #10
Anne>Have you got it to work yet?
Avatar billede copeland Nybegynder
15. april 2002 - 15:10 #11
>>terry

Undskyld den lange svartid.....det virker perfekt som det skal 1000 tak


Anne
Avatar billede terry Ekspert
15. april 2002 - 15:11 #12
great to hear, og selv tak :o)
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