Criar stored procedure Mysql

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
 
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.
 
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:
Back
Topo