1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Criar stored procedure Mysql

Discussão em 'Web Development' iniciada por fil79, 25 de Agosto de 2008. (Respostas: 4; Visualizações: 1386)

  1. fil79

    fil79 Power Member

    Boas
    Estou a fazer uma página que lista o conteúdo de uma tabela que está em mysql . O que gostaria é que o id dessa tabela (auto-increment) passasse a ter o ano em que estamos antes de listar o número e que ao mudarmos de ano esse número voltasse ao inicio. Por exemplo:
    o resultado que vem da tabela é 59, neste caso teria de aparecer 2008059, mas quando chegarmos a 2009 começa assim-->2009001
    Eu sei que isto é possivel pois já fiz uma stored procedure que fazia isso, na altura estava a trabalhar em asp agora estou em php .
    desde já agradeço
     
  2. alfinete

    alfinete Power Member

    se fizeste em asp, e como store procedure é sql , não varia ...
     
  3. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Já agora, quando/se o fizeres, depois diz como é, que fiquei interessado em saber, sff :)
     
  4. mascker

    mascker Power Member

    Boas,

    Não seria melhor criares um evento que corresse anualmente no dia 1 do 1 às 0:00:00

    Nessa data alteras o valor do auto_increment para 2009000

    Saudações.
     
  5. airbatucada

    airbatucada Power Member

    Esse evento pode ficar dentro da sp, sempre que for executada verifica o ano compara com os 4 primeiros caracteres do maximo id e altera o auto_increment se for necessario.

    Em SQL2005

    IF LEFT(IDENT_CURRENT('tb_teste'),4) <> YEAR(GETDATE())
    BEGIN
    DECLARE @novo_ident INT
    SET @novo_ident = CAST(YEAR(GETDATE()) AS VARCHAR(4)) + '0000'
    DBCC CHECKIDENT('tb_teste', RESEED, @novo_ident)
    END
     
    Última edição: 26 de Agosto de 2008

Partilhar esta Página