Erro ora 01422 - inserir mais de uma linha

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
pochecbp
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 29
Registrado em: Sex, 18 Mar 2011 3:19 pm
Localização: São José

alguém pode me ajudar
Na minha tela, preciso que quando aperta no botão inserir todos.
Aparece num Text Item, aparece todos meus registro da tabela paciente.
TExt Item
Text Item
Text Item
e dai por diante.
Porem não consigo de nenhuma forma. Sei que preciso usar um loop, mais nunca fiz um loop nem sei por onde começar.
alguém poderia me dar uma luz.
Obrigado!!
leandrogsi
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 15
Registrado em: Qua, 18 Mar 2009 4:19 pm
Localização: Paraiso do Norte - PR

Coloca o bloco como base table e na propriedade do bloco, altera o number of records displayed para 5 ou mais, assim voc consegue ver vários registros na sua tela. Recomento abilitar o scrollbar que fica nas propriedades do bloco.
Desta forma voc faz insert e e também consegue ver vários registros da tabela.
pochecbp
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 29
Registrado em: Sex, 18 Mar 2011 3:19 pm
Localização: São José

Consegui fazer da seguinte maneira. Coloque do na trigger When Button Pressed esse codigo

Selecionar tudo

set_block_property('pessoafisica',default_where,'cd_classe = 1');
e deu certo. Porem agora tenho outra duvida
tenho um bloco que possui dois campos cd_classe e cd_regiao
na minha tela esta da seguinte forma

Botao inserir todos Botao inserir todos
cd_regiao cd_regiao2
cd_regiao cd_regiao2
cd_regiao cd_regiao2
cd_regiao cd_regiao2

quando clicar no botao preciso que aparece o cd_regiao cadastrado.
Porem no cd_regiao preciso que seja somente que a cd_classe seja igual a 1 e no cd_regiao o cd_classe = 2.
porem quando clico ele aparece somente onde esta o cd_regiao. alguém pode me ajudar
pochecbp
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 29
Registrado em: Sex, 18 Mar 2011 3:19 pm
Localização: São José

alguém por favor ajuda ai.
To com problema no loop, tenho um bloco que possui 8 registro na tela.
OK
QUando clico no botão ele retorna somente na primeira linha

Selecionar tudo

 cursor c1 is select cd_pessoafisica from pessoa_fisica where cd_classe = 1 order by cd_pessoafisica;
							
	r1 	c1%rowtype;						
begin

    open c1;
    loop
    	fetch c1 into r1;
    	exit when c1%notfound;

     	--:cd_pessoafisica := r1.cd_pessoafisica;
                
         end loop;
    
    close c1;
espero ajuda de vocês.
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

o loop no bloco seria assim:

Selecionar tudo

go_block('seu_bloco');
first_record;
loop
  bla bla bla
  next_record;
end loop;
first_record;
pochecbp
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 29
Registrado em: Sex, 18 Mar 2011 3:19 pm
Localização: São José

Dae Diego, era isso mesmo.
Valeu pela ajuda
Responder
  • Informação
  • Quem está online

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