Concatenazione stringhe in store procedure. sql server 2000

mercoledì 20 maggio 2009 - 10.58

Siste82 Profilo | Newbie

Salve a tutti, ho una procedura che fa semplicemente una select tra diverse tabelle a cui voglio passare una stringa che faccia da filtro alla select.
Vi faccio un esempio semplificato per capire il problema:

create procedure ricerca @filtro nvarchar(255)
as
select * from Locali
+ @filtro

dove filtro potrebbe essere ad esempio where id = 3
ma ricevo il seguente errore
Syntax error converting the nvarchar value 'where id = 3' to a column of data type int.

come faccio a concatenare un parametro del genere?
Grazie

lbenaglia Profilo | Guru

>create procedure ricerca @filtro nvarchar(255)
>as
>select * from Locali
>+ @filtro

Una stored procedure di questo tipo semplicemente non ha alcun senso.
Non ne sfrutti i vantaggi prestazioniali, di security e sei a rischio di SQL Injection.

Come "parametro" si intende il valore di una colonna, non parte di un comando SQL.

>Grazie
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5