Parametro

martedì 01 marzo 2011 - 21.57
Tag Elenco Tags  Windows 7  |  SQL Server 2008 R2

dbarbieri70 Profilo | Newbie

Ciao a tutti,
sto scrivendo una query in Sql 2008 R2 del tipo:
select * from tabella where Prov="provincia?"
"provincia?" dovrebbe essere un parametro inserito dall'utente al momento del lancio della query, es "BA", "MI", "PI" ecc. In Access è molto semplice, ma qui come posso fare?
Grazie,
Davide

lbenaglia Profilo | Guru

>Ciao a tutti,
>sto scrivendo una query in Sql 2008 R2 del tipo:
>
>select *
>from tabella
>where Prov="provincia?"
>
>"provincia?" dovrebbe essere un parametro inserito dall'utente
>al momento del lancio della query, es "BA", "MI", "PI" ecc. In
>Access è molto semplice, ma qui come posso fare?

Ciao Davide,

Anche in SQL Server è molto facile ed è del tutto simile ad Access.
Prima di tutto dichiari la variabile, la valorizzi e la specifichi nella query:

DECLARE @Provincia char(2) = 'BA'; SELECT... FROM... WHERE Prov = @Provincia;

In SQL Server puoi definire una stored procedure parametrica nel seguente modo:

CREATE PROCEDURE dbo.MiaProcedura( @Provincia char(2) ) AS SELECT... FROM... WHERE Prov = @Provincia;

Che andrai ad eseguire tramite EXEC(UTE):

EXEC dbo.MiaProcedura 'BA';

Tutti i dettagli sui Books Online.

>Grazie,
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

dbarbieri70 Profilo | Newbie

Grazie,
ma io vorrei che la provincia fosse chiesta all'utente al lancio della query... è possibile?

lbenaglia Profilo | Guru

>Grazie,
>ma io vorrei che la provincia fosse chiesta all'utente al lancio
>della query... è possibile?

Sarà compito dell'applicazione client chiedere l'inserimento del parametro che provvederai a passare alla stored procedure.
Se sviluppi in .Net puoi utilizzare la classe SqlCommand e la collection Parameters come nel seguente esempio:
http://www.dotnethell.it/forum/messages.aspx?ThreadID=20650

Ciao!

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5