webForumDet fria alternativet

where in i stored procedure

Databaser & SQL

4 svar · 324 visningar · startad av andreas_lindh

Medlem sedan jan. 20011 140 inlägg
Frågan#1

Databas: sql-server 2005

Har den här spn

ALTER PROCEDURE getvisitingHistory 
@terminalID nvarchar(500),
@startDate nvarchar(10)
AS
exec('SELECT visitorID, terminalID, visitingNumber, code, visitorName, companyName, visitingDate, visitingTime, exitTime, action, cardnumber FROM visitors where cast(terminalID as nvarchar) in (' + @terminalID +') and visitingDate = ''' + @startdate + '''  order by visitingNumber')

Den fungerar när jag kör den direkt i visual studio men när jag anropar den i koden får jag det här felet

Incorrect syntax near ')'.

Finns det något annant sätt att använda in i en stored procedure?

Medlem sedan nov. 20014 054 inlägg
#2

Har du har tillgång till Management Studio?

Om SPn inte kastar ett fel där, då borde den fungera via koden också.

Medlem sedan okt. 20041 556 inlägg
#3

Liten fråga: varför en dynamisk sp?

Medlem sedan jan. 20011 140 inlägg
#4

Hittade felet. Skickade med ett , på slutet av @terminalID

Medlem sedan jan. 20011 140 inlägg
#5

Liten fråga: varför en dynamisk sp?

Hur gör man det utan att göra en dynamisk sp?

259 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)