Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


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

Postades av 2006-03-03 09:09:38 - Björn Berglund, i forum access, Tråden har 2 Kommentarer och lästs av 944 personer

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


Svara

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

Postades av 2006-03-04 00:47:57 - Andreas Hillqvist

Du kan titta på cascade delete. Men det kan vara farligt. T.ex. Minns när en användara tog bort en kund. Så försvann alla dess offerter. Vilket de ville behålla.
Så ur användningsbarhet bör du informera inan bortagning vilka tabeller som drabads så användaren innser vad den göra.

Om du vill göra det den jobbiga vägen med SQL frågor:

DELETE FROM tblTestprodbetyg
WHERE tblTestprodbetyg.testprod_id IN (SELECT tblTestprod.testprod_id
FROM tblTestprod INNER JOIN 
    tblTest ON tblTestprod.test_id = tblTest.test_id
WHERE tblTest.kvall_id = @kvall_id)

DELETE FROM tblTestprod
WHERE tblTestprod.test_id IN (SELECT tblTest.test_id
FROM tblTest
WHERE tblTest.kvall_id = @kvall_id)

DELETE FROM tblTest
WHERE tblTest.kvall_id = @kvall_id

DELETE FROM tblNarvarande
WHERE tblNarvarande.kvall_id = @kvall_id


Svara

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

Postades av 2006-03-04 09:22:06 - Björn Berglund

Stort tack Andreas!

Det funkar kanon. Körde jobbiga vägen med SQL-frågor.

Nu ska jag bara få upp användarvänligheten också.

//mvh Björn


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 768
27 960
271 761
412
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies