webForumDet fria alternativet

Ta bort värden från flera tabeller med indirekta relationer...

.NET

2 svar · 294 visningar · startad av bbquearen

Medlem sedan feb. 200630 inlägg
Frågan#1

Hej,

Jag vill när användaren trycker på en knapp köra sql-satser som tar bort allt som hör till ett visst kvall_id.

Min databas är uppbyggd på följande tabeller (som rör kvallen):

tblKvall - kvall_id (primär) + fler fält

tblNarvarande - narvarande_id (primär), kvall_id (från tblKvall) + fler fält

tblTest - test_id (primär), kvall_id (från tblKvall) + fler fält

tblTestprod - testprod_id (primär), test_id (från tblTest) + fler fält

tblTestprodbetyg - testprodbetyg_id (primär), testprod_id (från tblTestprod) + fler fält

..och så vill jag ta bort allt som hör till ett visst kvall_id i tblKvall. Och direkt så berörs tblNarvarande och tbTest men däremot tblTestprod och tblTestprodbetyg är berörda indirekt (ska också tas bort).

1. Hur ska jag skriva sql-satser för att genomföra detta?
2. Har jag byggt mina tabeller fel? Bör jag ha med kvall_id i varje tabell?

Tacksam för svar,
//mvh Björn

Medlem sedan dec. 19996 522 inlägg
#2

Vad gör narvarande_id? Definerar du upp relationerna och med exempelvis on cascade delete på pk test_id,testprod_id,kvall_id så räcker det med att radera från kvall så följer de andra automatiskt med.

Medlem sedan feb. 200630 inlägg
#3

Tack för ditt svar!

Oj oj...i tblNarvarande hade jag glömt kvall_id! (är redigerat nu). Narvarande_id är primärnyckel i tblNarvarande. Har ingen annan direkt funktion. Tabellen håller reda på vilka som var närvarande vilken kväll!

Jag använder MS Access och använder Asp.net 1.x/VB. Jag förstår inte vad du menar med "Definierar du upp...osv"? Kan du förklara lite enklare för en nybörjare?

//mvh Björn

257 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)