---
title: "SP Kolla och insert.."
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/161359-sp-kolla-och-insert"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "freddyk"
published: "2007-06-11T12:07:27.000Z"
updated: "2007-06-11T12:37:45.000Z"
replies: 2
views: 309
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/161359-sp-kolla-och-insert"
---

# SP Kolla och insert..

## #1 — freddyk, 2007-06-11T12:07Z

Tjena SQLare,

Behöver lite hjälp. Ska köra en INSERT i en tabell. Inga konstigheter där men jag vill även kunna se efter ifall en broschyr redan finns upplagd på lagerplatsen som jag gör en insert på. Om så är fallet ska en annan INSERT köras som skriver in att en lagerplats är delad.

Nedan kod finns i en SP i SQL 2005.

```
BEGIN
	INSERT INTO dbo.lagerplatsBrochure(fk_lpID,fk_brSLank,plockplats) VALUES(@lpid,@brid,@plocka)
END
```

Ovanstående behöver byggas på så att man förutom inserten även kollar ifall fk_lpID redan finns upplagd i tabellen dbo.lagerplatsBrochure och i så fall köra en INSERT i en annan tabell: dbo.lagerplats (dbo.lagerplats.delad = 1). Görs detta i en ny begin i samma SP eller en ny SP? Någon som har förslag?

Tacksam och Tack på förhand! :)

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

## #2 — LarsG, 2007-06-11T12:31Z

```
   if not exists(select * from dbo.lagerplatsBrochure where fk_lpID = @lpid)
      insert INTO dbo.lagerplatsBrochure(fk_lpID,fk_brSLank,plockplats) VALUES(@lpid,@brid,@plocka)
   else
-- din andra insert
```

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

## #3 — freddyk, 2007-06-11T12:37Z

> **LarsG skrev:**
>
> ```
>    if not exists(select * from dbo.lagerplatsBrochure where fk_lpID = @lpid)
>       insert INTO dbo.lagerplatsBrochure(fk_lpID,fk_brSLank,plockplats) VALUES(@lpid,@brid,@plocka)
>    else
> -- din andra insert
> ```

Smaskigt! Tack LarsG.

Kom fram till det med, ngt annorlunda skrivet bara:

```
BEGIN	
	IF EXISTS(SELECT dbo.lagerplatsBrochure.fk_lpID FROM dbo.lagerplatsBrochure WHERE dbo.lagerplatsBrochure.fk_lpID = @lpid)
		BEGIN
			INSERT INTO dbo.lagerplatsBrochure(fk_lpID,fk_brSLank,plockplats) VALUES(@lpid,@brid,@plocka)
			UPDATE dbo.lagerplats SET dbo.lagerplats.sammansatt = "1" WHERE dbo.lagerplats.LPExpID = @lpid
		END
	ELSE
		BEGIN
			INSERT INTO dbo.lagerplatsBrochure(fk_lpID,fk_brSLank,plockplats) VALUES(@lpid,@brid,@plocka)
		END
END
```

Tackar för det snabba svaret!   :birp

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/161359-sp-kolla-och-insert
