Script SQL
24/07/2006
0
Estou precisando urgente rodar o script abaixo, mas ele está dando erro e não executa corretamente. Se alguém puder me ajudar eu agradeço.
Obrigado
Rogério
Segue o script
CREATE TABLE dados
( ID numeric(10),
DESCRICAO VARCHAR(30),
META numeric(10,2),
SENTENCA VARCHAR(1000),
RESULTADO numeric(10,2)
)
INSERT INTO dados VALUES( 1, ´Meta Fat.Junho´, 10000, ´Select sum(osequant) from oset00´,0);
INSERT INTO dados VALUES( 2, ´CP para 2006´, 1000000, ´Select sum(osetotal) from oset00´,0);
Create Table #Resultados (Resultado Numeric(10,2))
Declare @Start Int
Declare @End Int
Declare @Retorno Numeric(10,2)
Declare @TSql Varchar(1000)
Declare @Loop Table (Idx int identity(1,1), [ID] Numeric(10), Sentenca Varchar(1000))
Insert into @Loop (sentenca, [ID] ) Select Sentenca, [ID] From dados
select @start = 1, @end = Max(idx) from @loop
While @Start <= @End
Begin
Select @TSql = sentenca From @Loop where idx = @Start
exec sp_executesql @TSql, N´@Retorno Numeric(10,2) OUTPUT´, @Retorno OUTPUT
Update Dados Set resultado = @Retorno
From Dados Inner join @Loop Lp On Lp.ID = Dados.ID And Lp.idx = @Start
Set @Start = @Start + 1
End
[color=red:ca9141667f]Resultado:
(1 row(s) affected)
(1 row(s) affected)
(2 row(s) affected)
Server: Msg 214, Level 16, State 2, Procedure sp_executesql, Line 28
Procedure expects parameter ´@statement´ of type ´ntext/nchar/nvarchar´.[/color:ca9141667f]
Rogerpm
Curtir tópico
+ 0Posts
25/07/2006
Psergio.p
Gostei + 0
25/07/2006
Rogerpm
Gostei + 0
25/07/2006
Psergio.p
INSERT INTO dados VALUES( 2, ´CP para 2006´, 1000000, ´Select sum(osetotal) from oset00´,0);
Altere as linhas acima para
INSERT INTO dados VALUES( 1, ´Meta Fat.Junho´, 10000, ´Select @Retorno = sum(osequant) from oset00´,0);
INSERT INTO dados VALUES( 2, ´CP para 2006´, 1000000, ´Select @Retorno = sum(osetotal) from oset00´,0);
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)