devotionMedlem sedan jan. 20013 582 inlägg Hej!
Jag använder mig av SQL-Express och har följande kod som uppdaterar artiikeldatabsen tblArticle:
'Uppdatera tblArticle om artikeln redan finns
sSQL = "UPDATE tblArticle SET articleNumber = '" & sEnumber & "', articleName = '" & sArticleName & "', articleUnit = '" & sUnit & "' WHERE articleNumber = '" & sEnumber & "'"
objConn.Execute sSQL, lngRA, 128
iUpdatesArticle = iUpdatesArticle + lngRA
if lngRa = 0 then
'Lägga till artikeln i tblArticle om den inte finns
sSQL = "INSERT INTO tblArticle (articleNumber, articleName, articleUnit) VALUES ('" & sEnumber & "', '" & sArticleName & "', '" & sUnit & "')"
objConn.Execute sSQL,,128
iInsertsArticle = iInsertsArticle + 1
End if
Hur gör jag för att ändringen i artikelbenämningen i tblArticle ska följa med till tblCart?
Dvs ändras artikeln: EKK 3G1,5 ----> EKK 3G1,5R i tblArticle så ska även ändringen följa med till tblCart?
tblCart
*orderId
*userId
*articleName
*articleAmount
Mvh
Henrik
@ndersMedlem sedan juni 200032 969 inlägg Två förslag:
- Lagra inte benämningen i cart-tabellen, plocka ut med join istället.
- Skapa en trigger på artikeltabellen. Typ:
CREATE TRIGGER nameupdate
ON tblArticle
FOR UPDATE
AS
IF UPDATE(articleName)
BEGIN
UPDATE tblCart
SET articleName = i.articleName
FROM inserted i
INNER JOIN tblCart c ON i.articleNumber = c.articleNumber
END
Triggern är såklart inte testad, men kan ge dig ett hum om hur det kan se ut.
edit: vi slänger in det tredje alternativet också:
3) Foreign keys + ON UPDATE CASCADE
mvh
devotionMedlem sedan jan. 20013 582 inlägg :)
ok!
Hmm, om jag väljer Triggeralternativet... Var ska den "koden" ligga?
Mvh
Henrik
@ndersMedlem sedan juni 200032 969 inlägg Jag vet inte hur SQL Server Management Studio Express fungerar, men det borde bara vara att köra koden om du inte hittar något ställe att lägga in triggers.
CatZMedlem sedan jan. 20022 440 inlägg Enklast är om du använder dig av SQL Express 2005 Management Studio och väljer: New query, ändrar (så den passar dig) @nders förslag och klickar på execute.
devotionMedlem sedan jan. 20013 582 inlägg Hej!
Jag kommer att ändra min databasdesign enligt emissons förslag.... Därför kommer jag att använda mig av @nders alternativ 1. Men det blir när jag kommer hem igen i början på juli!
Mvh
Henrik