none
Contador RRS feed

  • Pergunta

  • Olá pessoal,

     

    Tenho a seguinte procedure;

     

    ALTER PROCEDURE USP_Pec_19_Bolsa_Relatorios

    AS

    BEGIN

    Declare cValores cursor for select* from Tb_Pec_19_Bolsa_Organicos_Topicos for update

    Declare @ch_top int

    Declare @desc_top varchar(100)

    Declare @venda smallint

    Declare @compra smallint

    Declare @dt_top as datetime

    Open cValores fetch next from cValores into

    @ch_top, @desc_top, @dt_top, @venda, @Compra

    while @@fetch_status = 0

    begin

    select @venda = sum(ch_rec) from Tb_Pec_19_Bolsa_Organicos c inner join Tb_Pec_19_Bolsa_Organicos_Topicos t on c.ch_eva = t.ch_top

    where ch_top = @ch_top

    select @compra = sum(ch_rec) from Tb_Pec_19_Bolsa_Organicos c inner join Tb_Pec_19_Bolsa_Organicos_Topicos t on c.ch_eva = t.ch_top

    where ch_top = @ch_top

    update Tb_Pec_19_Bolsa_Organicos_Topicos

    set venda = @venda, compra = @compra

    where current of cValores

    fetch next from cValores into @venda, @compra

    end

    close cValores

    deallocate cValores

    END

    GO

     

     

    Mando executar;

    EXEC USP_Pec_19_Bolsa_Relatorios

     

    Ocorre o seguinte erro:

    Msg 16922, Level 16, State 1, Procedure USP_Pec_19_Bolsa_Relatorios, Line 17

    Cursor Fetch: Implicit conversion from data type datetime to smallint is not allowed.

     

    Como soluciono este problema?

     

    Grato

    Dirceu M. Azevedo

    http://www.e-campo.com.br/organicos

     

    quinta-feira, 18 de dezembro de 2008 02:15

Todas as Respostas

  • Boa Noite,

     

    A julgar pela mensagem, me parece que há um conversão de um tipo Datetime para um tipo INT.

     

    Isso pode estar ocorrendo por conta do SELECT * que no momento de direcionar as colunas para as variáveis esteja fazendo essa correção ou algum join. O erro parece estar no SELECT abaixo:

     

    Code Snippet

    select @compra = sum(ch_rec) from Tb_Pec_19_Bolsa_Organicos c inner join Tb_Pec_19_Bolsa_Organicos_Topicos t on c.ch_eva = t.ch_top

    where ch_top = @ch_top

     

     

    [ ]s,

     

    Gustavo

    quinta-feira, 18 de dezembro de 2008 04:08
  • Maia,

     

    Concordo com você, pela mensagem de erro que esta sendo apresentada poderia ser isso mesmo.

    quinta-feira, 18 de dezembro de 2008 10:39