none
Dúvida StoreProcedure RRS feed

  • Pergunta

  •  

    Porque quando executo está store Procedure está dando este erro:

     

    Server: Msg 8152, Level 16, State 9, Line 21
    String or binary data would be truncated.
    The statement has been terminated.

     

    declare
    @CodFornecedor uniqueidentifier
    select @CodFornecedor = '56CC77B7-71B9-482F-8D5F-56E2C89A53A3'
    --As
    drop table #promodetalhe
     Create table #PromoDetalhe(
      CodArtigo uniqueidentifier,
      CodLoja uniqueidentifier,
      CodFornecedor uniqueidentifier,
      QtdePromo char(4),
      NomArtigo varchar(80),
      CodBarra varchar(20),
      NomTipoArtigo varchar(20),
      TipoArtigo varchar(20),
      PrecoCompra money,
      PrecoAtual money,
      PrecoPromo money,
      DtInicio smalldatetime,
      DtFim smalldatetime)

      Insert Into #PromoDetalhe(
      CodArtigo,
      CodFornecedor,
      NomArtigo,
      TipoArtigo
      )

    --Estamos buscando o codfornecedor selecionado e seu artigos
    Select CodArtigo, CodProdutor ,NomArtigo , codtipoartigo From artigo
    Where CodProdutor = @CodFornecedor

    terça-feira, 8 de janeiro de 2008 18:33

Respostas

  • Um dos campos NomArtigo , codtipoartigo, esta definido num tamanho maior na tabela artigo do que na #promodetalhe

     

    aumente o tamanho do varchar na tabela temporaria,

    ou corte o texto com LEFT(NomArtigo, 80) por exemplo

     

    Espero ter ajudado

    terça-feira, 8 de janeiro de 2008 18:38

Todas as Respostas

  • Boa Tarde,

     

    Provavelmente um dos parâmetros textuais é maior do que o permitido na tabela. Ex: Você tem um parâmetro @NomArtigo varchar(80) e na tabela o máximo é varchar(60). Nesse caso essa mensagem de erro é disparada.

     

    [ ]s,

     

    Gustavo

     

    terça-feira, 8 de janeiro de 2008 18:38
  • Um dos campos NomArtigo , codtipoartigo, esta definido num tamanho maior na tabela artigo do que na #promodetalhe

     

    aumente o tamanho do varchar na tabela temporaria,

    ou corte o texto com LEFT(NomArtigo, 80) por exemplo

     

    Espero ter ajudado

    terça-feira, 8 de janeiro de 2008 18:38
  • DrAlves,

     

    A mensagem de erro esta informando que na linha 21 você esta tentando truncar valores em string or binário sendo que este tipo de procedimento não é permitido.

     

    Agora gostaria de entender, você seja inserir valores no table #PromoDetalhe sendo passados pelo select que esta abaixo é isso?

     

    terça-feira, 8 de janeiro de 2008 18:43