---
title: "Delete-transaktion SP?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/120274-delete-transaktion-sp"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Jesper T"
published: "2005-01-17T00:13:24.000Z"
updated: "2005-01-17T12:13:52.000Z"
replies: 5
views: 281
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/120274-delete-transaktion-sp"
---

# Delete-transaktion SP?

## #1 — Jesper T, 2005-01-17T00:13Z

Hur skulle jag kunna skapa en transaktion för att endast köra den andra deleten om den första raderat något?

```
ALTER PROCEDURE sp_delPict
	( 
		@id bigint,
		@uid bigint
	)

AS	
	
	
		DELETE FROM pictures WHERE id=@id AND advId=@uid
		DELETE FROM search_pics WHERE picid=@id

RETURN
```

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

## #2 — Nöff, 2005-01-17T08:53Z

(ms-sql-server)

BEGIN TRANSACTION
DELETE FROM pictures WHERE id=@id AND advId=@uid
IF (@@ROWCOUNT\>0)
BEGIN
DELETE FROM search_pics WHERE picid=@id
END
COMMIT TRANSACTION

såhär, men du borde inte göra på det här sättet , sätt hellre ON DELETE CASCADE på "search_pics" så slipper du oroa dig över om något har blivit raderat i tabell 1.

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

## #3 — Jesper T, 2005-01-17T11:03Z

Jo, jag vet men när jag testade det så fick jag detta: 

> \- Det går inte att skapa relationen FK_search_pics_pictures.  
> ADO-fel: Introducing FOREIGN KEY constraint 'FK_search_pics_pictures' on table 'search_pics' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.
> Could not create constraint. See previous errors.

Vet inte vad jag har hittat på.

Primärnyckeltabell : Pictures **id**
Sekundärnyckeltabell : search_pics **picid**

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

## #4 — Jesper T, 2005-01-17T11:33Z

Ok, det verkar funka om man inte väljer ON DELETE CASCADE i relationen. Av någon märklig anledning.

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

## #5 — Nöff, 2005-01-17T12:09Z

> \-ADO-fel: Introducing FOREIGN KEY constraint 'FK_search_pics_pictures' on table 'search_pics' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.

 

Detta fel får du för att du satt ON DELETE CASCADE på tabeller som redan är involverade i en DELETE CASCADE. Du måste tänka i hierarkiska relationer när du sätter CASCADE

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

## #6 — Nöff, 2005-01-17T12:13Z

> Ok, det verkar funka om man inte väljer ON DELETE CASCADE i relationen. Av någon märklig anledning.

 

Jo, mitt exempel visar hur man gör om du INTE använder ON DELETE CASCADE, men det är inget att rekommendera. sätt CASCADE  :h

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/120274-delete-transaktion-sp
