• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

fil79

Criar stored procedure Mysql

7 mensagens neste tópico

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 a trabalhar em asp agora estou em php .

desde já agradeço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas, diz me uma coisa, mas esse valor do ano, é para estar na base de dados também , ou é apenas para listagem na página ?

Se for só de listagem, sacas o id e fazes append no php

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tenho ideia que a SP era algo do género:

parava o auto-increment do campo, e depois inseria o prefixo ano no id...finalmente voltava  a ser auto-increment novamente..penso que era algo do género mas já não me lembro muito bem  :hmm:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tenho ideia que a SP era algo do género:

parava o auto-increment do campo, e depois inseria o prefixo ano no id...finalmente voltava  a ser auto-increment novamente..penso que era algo do género mas já não me lembro muito bem  :hmm:

Sim, mas a minha questão é se tu precisas de guardar o ano na base de dados também, ou serve apenas como elemento de output .

Se o campo é auto increment, não vais mudálo , penso eu

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A forma correcta de fazer isso é criares uma coluna para o ano.

Não estou a ver qual é a ideia de ter um atributo com auto-increment se na queres ter um id autoincrementavel na tabela.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Quando trabalhavas em asp provavelmente a base de dados era sqlserver (mssql) o sqlserver permite manipular a estrutura dos campos de uma tabela, ou seja podias realmente parar o auto increment juntar-lhe a data e reindexar o auto increment . Em mysql não podes por isso das duas uma ou crias mais um campo na bd onde fazes essa união ou simplesmente imprimes no écran quando precisa (a mais fácil). Deixo só a minha opinião, não faz sentido poder alterar a estrutura de uma base de dados dessa forma existem campos de data e de caracteres onde podes fazer essa associação.

Fica bem

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora