webForumDet fria alternativet

Must declare the variable...

Databaser & SQLur Databashanterare & SQL

7 svar · 328 visningar · startad av Jesper T

Medlem sedan nov. 20017 144 inlägg
Frågan#1
ALTER PROCEDURE "LagradProcedur1"

	(
		@Searchstring varchar(100),
		@curr varchar(3),
		@maxprice int
	)
AS
...

Jag får felmeddelandet:
Must declare the variable '@curr' och
Must declare the variable '@maxprice'

Dessa ligger i en subquery i SP:n.
Jag har väl deklarerat dem i och med att de ligger där eller?
DBMS = Ms Sql

Medlem sedan dec. 200012 464 inlägg
#2

Jo, men varför visar du inte det avsnitt där de används?

Jag gissar på att du använder dynamisk sql.

Medlem sedan dec. 19996 721 inlägg
#3

Du ska inte ha procedurnamnet inom citationstecken.

Medlem sedan dec. 200012 464 inlägg
#4

Varför inte? Det är inget fel med det.

Medlem sedan nov. 20017 144 inlägg
#5

Faktum är att i EM så hjälpte det att ta bort citationstecknen.
Jag brukar ha dem med så det är ett litet mysterium, kanske.

Medlem sedan dec. 19996 721 inlägg
#6

LarsG skrev:

Varför inte? Det är inget fel med det.

Nej, det är inget fel, men såvida inte QUOTED_IDENTIFIER är specifikt satt till ON (OFF är default), så kommer SQL Server att ogilla denna syntax. Mitt svar borde alltså ha varit:

Sätt QUOTED_IDENTIFIER till ON eller ta bort citationstecknen

Medlem sedan nov. 20017 144 inlägg
#7

Prestige...Sk-t samma ;)

Nix, inte dynamisk sql här inte.

Medlem sedan dec. 19996 721 inlägg
#8

Jesper T skrev:

Nix, inte dynamisk sql här inte.

Que? :)

Red: Ah, nu såg jag.

126 ms totalt · 3 externa anrop · v20260731065814-full.b746b907
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)