---
title: "Uppdatera relaterad post i annan tabell"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/147743-uppdatera-relaterad-post-i-annan-tabell"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "devotion"
published: "2006-06-05T19:17:24.000Z"
updated: "2006-06-08T20:30:13.000Z"
replies: 5
views: 382
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/147743-uppdatera-relaterad-post-i-annan-tabell"
---

# Uppdatera relaterad post i annan tabell

## #1 — devotion, 2006-06-05T19:17Z

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

Permalänk: https://www.webforum.nu/p/147743

## #2 — @nders, 2006-06-06T06:28Z

Två förslag:

1) Lagra inte benämningen i cart-tabellen, plocka ut med join istället.
2) 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](http://msdn2.microsoft.com/en-us/library/ms186973.aspx)

mvh

Permalänk: https://www.webforum.nu/p/1826892

## #3 — devotion, 2006-06-06T06:44Z

:) 

ok!

Hmm, om jag väljer Triggeralternativet... Var ska den "koden" ligga?  

Mvh
Henrik

Permalänk: https://www.webforum.nu/p/1826894

## #4 — @nders, 2006-06-06T07:00Z

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.

Permalänk: https://www.webforum.nu/p/1826895

## #5 — CatZ, 2006-06-06T07:06Z

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.

Permalänk: https://www.webforum.nu/p/1826896

## #6 — devotion, 2006-06-08T20:30Z

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

Permalänk: https://www.webforum.nu/p/1827748

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/147743-uppdatera-relaterad-post-i-annan-tabell
