---
title: "Variabel"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/86420-variabel"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "SteveP"
published: "2003-09-19T10:42:55.000Z"
updated: "2003-09-19T14:33:27.000Z"
replies: 6
views: 213
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/86420-variabel"
---

# Variabel

## #1 — SteveP, 2003-09-19T10:42Z

```
CREATE PROCEDURE spLCPPhotosMainNew
	
AS

Declare @Position Varchar(150)

Set @Position = Null

SET NOCOUNT ON

INSERT INTO TblContacts
	(
	Position
	)

VALUES
	(
	@Position
	)

SELECT @@IDENTITY AS NewID
GO
```

ContactID är Autonumber i denna tabellen så ett nytt ContactID kommer skapas automatiskt.
Vad jag vill göra är att sätta in en tom post i tabellen tblContacts och spara det nya ContactID't som skapas i en Variabel kallad @NewID för att sedan göra en ytterligare Insert i en annan tabell och stoppa in @NewID i en kolumn.

Hur skulle detta se ut ?

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

## #2 — @nders, 2003-09-19T10:47Z

Något sånt här:

```
CREATE PROCEDURE spLCPPhotosMainNew
	
AS

[b]Declare @Position Varchar(150),
@NewID int[/b]

Set @Position = Null

SET NOCOUNT ON

INSERT INTO TblContacts
	(
	Position
	)

VALUES
	(
	@Position
	)

[b]SELECT @NewID = @@IDENTITY[/b]
GO
```

Sedan borde det bara vara att använda @NewID i proceduren.

Mvh

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

## #3 — SteveP, 2003-09-19T10:48Z

Ok och hur gör jag nästa insert i samma procedure? Måste jag köra en END innan jag går på nästa insert?

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

## #4 — SteveP, 2003-09-19T10:53Z

Såhär kanske?

```
CREATE PROCEDURE spLCPPhotosMainNew
	
AS

Declare @Position Varchar(150),

@NewID int

Set @Position = Null

SET NOCOUNT ON

INSERT INTO TblContacts
	(
	Position
	)

VALUES
	(
	@Position
	)

SELECT @NewID = @@Identity

Insert into tblLCPContactDetails (ContactID, LCPCode) Values (@NewID, 'None')

Insert into tblContactPictures (ContactID) Values(@NewID)
GO
```

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

## #5 — SteveP, 2003-09-19T11:03Z

Det fungerar inte.. den gör inte dom andra 2 insertsen.

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

## #6 — SteveP, 2003-09-19T14:10Z

Så här blev bättre

```
Declare @Position Varchar(150),

@NewID int

Set @Position = Null

SET NOCOUNT ON

INSERT INTO TblContacts
    (
    Position
    )

VALUES
    (
    @Position
    )

SELECT @NewID = Max(ContactID) from tblContacts

Insert into tblLCPContactDetails (ContactID, LCPCode) Values (@NewID, 'None')

Insert into tblLCPContactPictures (ContactID) Values(@NewID)
GO
```

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

## #7 — SteveP, 2003-09-19T14:33Z

Det är nog iofs säkrare att använda sig av scope_identity() ifall nån annan kör igång SP'n exakt samtidigt.

```
SELECT @NewID = scope_Identity()
```

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/86420-variabel
