Boa noite pessoal!
É o seguinte, estou desenvolvendo um projeto que é um formulário em html e outros em JSP (que possuem chave estrangeira) que chamam uma servlet…
Eu gostaria de saber como faço pra gerar um código automático…por exemplo: a hora que a pessoa estiver fazendo seu cadastro ele gerasse um código automático…não que o usuário digitasse um código…como venho fazendo colocando 1 e assim por diante…
O banco que estou utilizando é o Oracle.
Não tenho nem idéia como posso fazer isso, já pesquisei, mas não acho nada parecido…ou melhor acho mas em php essas coisas. Será que alguém pode me ajudar?
Please! :roll:
Usando Oracle você pode usar uma sequence e preencher esse campo automaticamente, ou pega sempre o ultimo mais um.
Aff me desculpe, mas não entendi… :?:
O seu problema é gerar um código automático não é?
Foi o que eu entendi do seu texto.
Se for isso você pode usar a sequence do oracle para gerá-lo.
Sim eu entendi, mas como faço isso?
O comando pra criar uma sequence no oracle é simples.
CREATE SEQUENCE sequence_name
MINVALUE value
MAXVALUE value
START WITH value
INCREMENT BY value
CACHE value;
Fonte
Blz…vou tentar aqui…
Obrigada por enquanto!
Quando for fazer o cadastro, basta fazer nomeDaSequencia.nextval para gerar o próximo número, que no caso é o código.
Ahhh eu não consegui…
Dá um erro assim: Número inválido
Como você criou sua sequência ?
E na hora na inserção, vc passou o nomeDaSequencia.nextval ?!
Ahh criei como está postado logo ali em cima assim:
CREATE SEQUENCE departamento
MINVALUE value
MAXVALUE value
START WITH value
INCREMENT BY value
CACHE value;
Eu colquei departamento que é o nome da minha tabela, não sei se é assim 8)
Faz assim para criar a sequência:
CREATE SEQUENCE seq_departamento
MINVALUE 1
MAXVALUE 99999999
START WITH 1
INCREMENT BY 1
CACHE 5
O nome da sequência não pode ser o nome da tabela.
Da uma olhada no link abaixo para ver melhor como se cria uma sequência, como se usa… :
Mas como que eu sei que esses comandos vão gerar um código automático referente áquele formulário…quando o cara clicar no cadastrar. :?: :?: :?:
Eu fiz o que me disse e executou a sequência, mas não entendi
Quando no insert vc executar o comando nextval, por exemplo: seq_departamento.nextval
Da uma olhada no link que te passei, lá tem explicando sobre sequência.
Obrigada pessoal!
Mas não consegui mesmo
Amanhã vou dar uma pesquisada de novo…
Eu li o link postado mas não consegui…
Pega o caminho mais simples, faça essa consulta no banco: SELECT MAX ( <NOME COLUNA QUE É A CHAVE PRIMÁRIA> ) + 1 PROXIMO_CODIGO FROM .
Feito isso você já vai conseguir ter o ultimo código da tabela.
kkkkkkkkkk quando uma mina pergunta alguma coisa aqui os caras vao babando kkk
Bom diaaa!
Obrigada vou tentar aqui…
Oii eu fiz isso blz, consultou de boa;
Mas eu queria que gerasse um código automático qdo a pessoa está fazendo seu cadastro no formulário…em vez do usário digitar um código, que isso já fosse gerado entende?
Obrigada!!!