---
title: "Must declare the scalar variable"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/153960-must-declare-the-scalar-variable"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "pulse"
published: "2006-11-20T11:31:56.000Z"
updated: "2006-11-20T14:17:01.000Z"
replies: 1
views: 402
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/153960-must-declare-the-scalar-variable"
---

# Must declare the scalar variable

## #1 — pulse, 2006-11-20T11:31Z

När jag kör nedanstående får jag felet "Must declare the scalar variable "@var1". Nån som vet vad det beror på?

```
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[admin3c]
	-- Add the parameters for the stored procedure here
	@tableName varchar(100),
	@authorityId varchar(50)

AS
BEGIN
	SET NOCOUNT ON;

Declare @SQL VarChar(2000),
@var1 varchar(50),
@var2 int,
@total int

SELECT @SQL = '
select	@var1 = name,
	@var2 = sum(age),
	@total = count(*)
from dbo.'+@tableName+' 
where authority='+@authorityId+'
group by name'
Exec ( @SQL)

select @total - @var2

END
```

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

## #2 — LarsG, 2006-11-20T14:17Z

Om du vill tilldela variabler med dynamisk sql så måste du använda proceduren sp_executesql

Varför använder du dynamisk SQL alls? Har du identiska tabeller fast med olika namn?

Jag skulle börja med att fundera över datamodellen.

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/153960-must-declare-the-scalar-variable
