N Nöff Medlem sedan nov. 2003 569 inlägg Frågan 4 feb. 2004 19:07 #1 DELETE FROM kategorier,produkter,priser WHERE kategorier.ID=produkter.kategoriID AND produkter.ID=priser.produktID AND kategorier.ID=1000
Varför funkar inte denna? :( , använder MSDE
felmedellande:
Felaktig syntax nära ','.
L LarsG Medlem sedan dec. 2000 12 464 inlägg Du kan bara göra delete från en tabell i taget. Lös det med foreign key och on delete cascade istället.
N Nöff Medlem sedan nov. 2003 569 inlägg uuuh, jag tror inte jag kan tillämpa det, eftersom det är inte i alla scenarion alla relationer ska deletas, ibland ska det bara vara de 2 sista som ska raderas. hur gör man då? :x
N Nöff Medlem sedan nov. 2003 569 inlägg Men kan man inte använda nån mysig SELECT sats inne i DELETE?.
DELETE FROM produkt WHERE produkt.ID=(SELECT ID FROM kategori) eller nåt?,, måste jag verkligen använda triggers?.
L LarsG Medlem sedan dec. 2000 12 464 inlägg Någon trigger skall inte behövas.
Det går att göra så som du skrev i delete, men det är vanligare att man gör något i stil med
DELETE FROM produkt
WHERE produkt.ID in (SELECT produktID FROM kategori where kategori = 'OGRISH')
Skillnaden mellan att använda = och in vid subselect är att det i det förra fallet blir fel om subselecten returnerar mer än en post.