Avatar billede boomla Nybegynder
10. december 2003 - 08:44 Der er 3 kommentarer og
1 løsning

Slette i database

Har et lille problem, jeg skal lave en funktion der kan slette alle kunsteres albums samtidige med at jeg sletter kunstneren,.

f.eks.

Hvis jeg har en database som indeholder et navn som har mange poster i en database - hvordan gør jeg så at når man sletter navnet så fjerner den også alle hans poster fra databasen???
Avatar billede medions Nybegynder
10. december 2003 - 09:00 #1
DELETE * FROM tblTabelnavn WHERE KunstnerID = 3

(her er den kunstners id du vil slette 3, det kunne du jo selvf. bare ændre dynamisk)

//>Rune
Avatar billede trer Nybegynder
10. december 2003 - 09:09 #2
Hvis din database er Access eller SQL Server, så kan du sætte en ON CASCADE DELETE ind i referencen mellem kunster-tabellen og album-tabellen.

Så sletter databasen automatisk alle album når du sletter kunsteren.

Samtidig giver det en sikkerhed for, at din kunsteren kun slettes hvis alle albums er væk (transaktionel sikkerhed)
Avatar billede boomla Nybegynder
10. december 2003 - 10:51 #3
trer >> kan du ikke give mig et eksempel hvor den kode er brugt, har ikke anvendt den funktion før.
Avatar billede trer Nybegynder
10. december 2003 - 11:10 #4
I Access skal du bruge Relationsships-skærmen under Tools menuen. Jeg mener at huske at hvis du opretter en reference her mellem to tabeller, så kan du angive cascade delete på den.

I SQL Server er det en del af syntaksen for oprettelse af en fremmednøgle - pseudo-sql:

alter table mytable1 add constraint refint on col1 references mytable2(col2) on cascade delete;
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
Kurser inden for grundlæggende programmering

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