criar uma sequencia no campo 'COD' da tabela cadastro

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
francisco.angelo
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 78
Registrado em: Qua, 16 Jan 2008 5:06 pm
Localização: RJ

Olá, Boa Tarde

Alguém pode me ajudar?

fiz um banco de dados onde eu tenho varios capos a serem preenchidos
só que eu queria que no capo 'COD' já fosse na sequencia, sem eu precisar digitar
nenhum numero, começar a preencher os dados pelo campo 'nome' e o codigo mudaria automaticamente quando eu clicasse em salvar ou quando clicasse em inserir registro, já me aparecesse o codigo devido( a sequencia correta)... tem como fazer isso no forms???

desde já Obrigado
gokden
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 264
Registrado em: Dom, 19 Ago 2007 8:18 pm
Localização: Ribeirão Preto - SP
Lucas de Souza

OCA Developer
Analista de sistemas

ehh....
você criaria uma sequence de banco e usaria ela no pre-insert...

Selecionar tudo

select cod_seq.nextval
into :bl_teste.cod
from dual;
ow você pode inserir numa ordem sem a sequence... assim:

Selecionar tudo

select max(nvl(cod, 0)) + 1
into :bl_teste.code
from tabela_cod;
os dois selects tem qui ser colocados na pre-insert, assim quando você apertar o F-10 para salvar, ele vai preencher automaticamente o campo...

=D
francisco.angelo
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 78
Registrado em: Qua, 16 Jan 2008 5:06 pm
Localização: RJ

Aí, valeu mesmo...

ficou show....
francisco.angelo
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 78
Registrado em: Qua, 16 Jan 2008 5:06 pm
Localização: RJ
Francisco Angelo
///////////////////////////////

Cara,
eu fiz aí como você falou e ficou maneiro....
só que é o seguinte...eu usei esse codigo:

Selecionar tudo

select cod_seq.nextval 
into :bl_teste.cod 
from dual;
aí, quando eu vou inserir no cadastro... exemplo, eu faço 4 cadastros
quando eu vou consultar a sequencia que me mostra é a seguinte:

Selecionar tudo

4 - 1 - 2 - 3...
se eu fechar e abrir novamente a sequencia normal... os que eu inserir depois fica na ordem certa, mais os primeiros da maneiroa que esta acima e seguindo a sequencia ex:

Selecionar tudo

4 -1 - 2 - 3 - 5 - 6 - 7...
é só quando eu vou inserir os primeiros...
quando eu clico no botão consulta do forms ele me informa que o primeiro cadastro é o numero 4.
tem como eu inserir codigo que antes de me direcionar para o primeiro cadastro, ordene-as em ordem crescente??? para que o primeiro seja o de numero 1..

desde já Obrigado
Avatar do usuário
TBou
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 136
Registrado em: Qui, 05 Ago 2004 9:33 am
Localização: Campo Grande - MS
Thiago Bourscheidt
thiago.info@apoiorural.com.br
Analista de Sistemas

basta você colocar na propriedade ORDERBY do bloco de dados
homercher
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 22
Registrado em: Qui, 30 Jul 2009 2:03 pm
Localização: POA

Caros,

estou estudando este assunto e fiquei com uma duvida, pois estou tentando implementar a lógica em um form.

No sql:

Selecionar tudo

select cod_seq.nextval
into :bl_teste.cod
from dual; 

o que representa :bl_teste.cod , seria um campo de tabela para incluir o novo valor da sequence ou um item do form?

Obrigado.
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

BL_TESTE é o nome do bloco.
COD é o nome do item dentro do bloco

Ou seja, ele pega o valor da sequencia e joga direto dentro do item. (sem precisar de uma variavel)
homercher
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 22
Registrado em: Qui, 30 Jul 2009 2:03 pm
Localização: POA

Entendido Dr.

Vou tentar aqui.....

Abraço.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 4 visitantes