race2
09-03-2006, 17:12
Credetemi ho provato a cercare qualcosa su google per 1 giorno intero ma nulla,
mi sapete dire come mai di questi 2 esempi 1 funziona e 1 no ???
Su questa PROCEDURA ho un OUTPUT e tutto funziona!!!
CREATE PROC _myProc @Tot AS INT OUT
AS
BEGIN
SELECT @Tot = COUNT(*) FROM myTable
END
GO
Su questa invece no !!!
Passo la Tabella dove eseguire la QUERY, e voglio un parametro di OUTPUT.
Il Query Analyzer mi da questo errore:
Server: messaggio 170, livello 15, stato 1, procedura _myProc
Riga 6: sintassi non corretta in prossimità di '='.
CREATE PROC _myProc @Tabella AS VARCHAR(50),@Tot AS INT OUT
AS
BEGIN
EXEC('SELECT ' + @Tot = + ' COUNT(*) FROM ' + @Tabella)
END
GO
Cosi funziona perfettamente:
CREATE PROC _myProc @Tabella AS VARCHAR(50),@Tot AS INT OUT
AS
BEGIN
EXEC('SELECT COUNT(*) FROM ' + @Tabella)
END
GO
Mi potete dare una mano ???
mi sapete dire come mai di questi 2 esempi 1 funziona e 1 no ???
Su questa PROCEDURA ho un OUTPUT e tutto funziona!!!
CREATE PROC _myProc @Tot AS INT OUT
AS
BEGIN
SELECT @Tot = COUNT(*) FROM myTable
END
GO
Su questa invece no !!!
Passo la Tabella dove eseguire la QUERY, e voglio un parametro di OUTPUT.
Il Query Analyzer mi da questo errore:
Server: messaggio 170, livello 15, stato 1, procedura _myProc
Riga 6: sintassi non corretta in prossimità di '='.
CREATE PROC _myProc @Tabella AS VARCHAR(50),@Tot AS INT OUT
AS
BEGIN
EXEC('SELECT ' + @Tot = + ' COUNT(*) FROM ' + @Tabella)
END
GO
Cosi funziona perfettamente:
CREATE PROC _myProc @Tabella AS VARCHAR(50),@Tot AS INT OUT
AS
BEGIN
EXEC('SELECT COUNT(*) FROM ' + @Tabella)
END
GO
Mi potete dare una mano ???