Tjaa .. jag har läst om en funktion i MS SQL 2k som gör att man kan typ deleta ett record i en tabell med en primarykey och sen deletar den även alla records som har en matchande foregien key .. nåt som vet hur detta fungerar .. är det typ bara att köra en ett delete kommando på den som har primary key och sen tar den bort alla som har samma foregien keys .. eller behöver man köra nåt specielt kommando .. nån som vet nåt sätt att typ testa detta så att man vet vad den kommer att delete för nåt .. =) .. många frågor där
Cascading deletes ..
2 svar · 254 visningar · startad av Stuck
Det man gör är att när man definierar en foreign key så kan man lägga till en on delete klausul
create table pk(pkC char(12) primary key)
create table fk(pkC int primary key,
fkC char(12) references pk on delete cascade)
Det innebär att om man tar bor poster från pk så tas de poster i fk som matchar det borttagna värdet också bort. Det finns även ytterligare alternativ än cascade.
Man kan ange en on update klausul med motsvarande innebörd.
Denna funktion är inget specifikt för MS SQL server utan den finns i SQL-standarden.
------------------
essentitia preter non sans multiplicandum
Ahh .. ok .. jag vågade testa och det verkade funka .. jag ställde dock in relationerna i EM ... jaja .. funktionen fanns inte i SQL 7 tror jag .. inte dokumenterat iallfall .. hmm