Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
PROBLEMI CON VARIABILI IN EXEC
sabato 25 novembre 2006 - 20.47
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
antogavi
Profilo
| Newbie
4
messaggi | Data Invio:
sab 25 nov 2006 - 20:47
Mi sto cimentando per la prima volta con Sql,
ho necessità di eseguire una select la cui sintassi è contenuta in un campo di tabella. Nella tabella è contenuta una variabile e nonostante la dichiari prima il messaggio di errore che ritorna è dichiarare la variabile scalare.
In sostanza la query è così strutturata:
declare @test1 as varchar (200),
@base as varchar (20)
select @test1=rtrim(codcomp) from U_dibacomp
BEGIN
set @base='100'
exec (@test1);
END
ed il valore che assume la variabile @test1 dopo la prima select è il seguente
SELECT 'ZSI'+@base
ma viene restituito il seguente messaggio di errore
Messaggio 137, livello 15, stato 2, riga 1
Dichiarare la variabile scalare "@base".
mentre se modifico la riga di comando di exec
exec (@test1) 100
allora il messaggio è di sintassi non corretta.
Grazie a chiunque può darmi indicazioni.
Antonello
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
sab 25 nov 2006 - 23:17
>ma viene restituito il seguente messaggio di errore
>Messaggio 137, livello 15, stato 2, riga 1
>Dichiarare la variabile scalare "@base".
Ciao Antonello,
l'errore che ricevi è corretto in quanto il comando eseguito con l'EXEC appartiene ad uno scope differente rispetto a quello dove hai dichiarato la variabile, generando un piano di esecizione distinto.
Per risolvere il problema devi ricorrere alla stored procedure di sistema sp_executesql come nel seguente esempio:
http://groups.google.it/group/microsoft.public.it.sql/browse_thread/thread/d6823056e0589f76/
>Grazie a chiunque può darmi indicazioni.
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
antogavi
Profilo
| Newbie
4
messaggi | Data Invio:
dom 26 nov 2006 - 03:08
Lorenzo,
ero convinto di aver risposto. Dal forum però non si vede (o forse sto facendo un pò diconfusione io, vista l'ora).
In ogni caso grazie. Tutto funziona.
Ciao
Antonello
Torna su
Stanze Forum
Elenco Threads
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 !