none
Procedure Complicada RRS feed

  • Pergunta

  • Bom dia.

    Tenho em meu BD uma tabela onde armazeno numeros de lote no seguinte formato:
    quatro numeros que devem ser incrementados de um em um, seguido de um ponto, com o mes e depois o ano com dois digitos (XXXX.MM/AA)

    Exemplos:
    0001.11/06
    0002.11/06
    0045.12/06
    0198.12/06
    1987.12/06

    Essa coluna é do tipo varchar

    Preciso fazer um insert nessa coluna, mais não estou conseguindo obter o resultado, segue a string que fiz ate agora:

    insert into Lotes (lote) values ((select convert(varchar(20),(substring(max(Lote),0,5) + 1)) + '.' + substring(convert(varchar(10),GETDATE(),103),4,8) from lotes))

     

    sexta-feira, 15 de dezembro de 2006 11:28

Respostas

  • nao use o values no insert from

    insert into Lotes (lote)

    select convert(varchar(20),(substring(max(Lote),0,5) + 1)) + '.' + substring(convert(varchar(10),GETDATE(),103),4,8)

    from lotes

    Abs.

     

    como vc. esta usando um max deve colocar um campo no group by

     

     

    sexta-feira, 15 de dezembro de 2006 11:38

Todas as Respostas

  • nao use o values no insert from

    insert into Lotes (lote)

    select convert(varchar(20),(substring(max(Lote),0,5) + 1)) + '.' + substring(convert(varchar(10),GETDATE(),103),4,8)

    from lotes

    Abs.

     

    como vc. esta usando um max deve colocar um campo no group by

     

     

    sexta-feira, 15 de dezembro de 2006 11:38
  • Salve Marcelo.

    Imagine que o ultimo loter seja: 0010.12/06, quando é feito o insert fica assim 11.12/2006, quando deveria ficar assim:
    0011.12/2006 e depois tenho outros campos para inserir tb, por isso estou usando o values

    Grato

     

    sexta-feira, 15 de dezembro de 2006 11:50