webForumDet fria alternativet

Must declare the variable...

7 svar · 328 visningar · startad av Jesper T

Jesper TMedlem sedan nov. 20017 058 inlägg
#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

LarsGMedlem sedan dec. 200012 465 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.

emissionMedlem sedan dec. 19996 095 inlägg
#3

Du ska inte ha procedurnamnet inom citationstecken.

LarsGMedlem sedan dec. 200012 465 inlägg
#4

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

Jesper TMedlem sedan nov. 20017 058 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.

emissionMedlem sedan dec. 19996 095 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

Jesper TMedlem sedan nov. 20017 058 inlägg
#7

Prestige...Sk-t samma ;)

Nix, inte dynamisk sql här inte.

emissionMedlem sedan dec. 19996 095 inlägg
#8

Jesper T skrev:

Nix, inte dynamisk sql här inte.

Que? :)

Red: Ah, nu såg jag.

Genererad på 378 ms · cache AV · v20260730165559-full.f96bc7eb