, no caso quando eu mando salvar da esse erro pois o registro (ID) já existe na tabela1 e esta mostrando na tela , acontece que nessa tela eu tenho outros campos que devem ser alterados e são de OUtra tabela2. ai eu faço as alteraçoes e quando mando salvar acontece esse erro. a não ser que na tabela 1 não existam registros e eu esteja inserindo então ele salva normal. mas a partir do momento que ele existe não consigo mais alterar . Por isso tentei usar o
Olha, Unique Constraints não podem ser violadas e isso é fato.
Se seu registro for novo você deve garantir que ele insira o próximo valr válido. Para isso você deve trabalhar com sua sequencia ou MAX + 1 caso não exista sequencia, para seu campo ID.
Verifique tambem, nas duas tabelas, se apenas o campo ID é Unique, algumas vezes acontece de estar violando outro campo...
Existe alguma restrição sobre separar os campos em blocos diferentes, baseando-se na tabela onde eles tem origem?
Seu bloco em questão é Base Table?
Tente detalhar um pouco mais sua estrutura para que possamos ter uma melhor noção do que pode estar acontecendo...
então, esse bloco é base table sim! eu já testei deixando ele como não bd, ai ocorre que quando já existem itens nessa tabela e eu insiro nos outros itens da tela como mencionei ele salva tranquilamente porque não esta tentando violar nada. Mas ai quando ele não tem nada cadastrado e eu TENTo cadastrar ele não salva pois não é base t. e eu não sei como fazer p ele salvar.essa é opção mais logica eu acho. Se precisarem de mais informações. Obrigadaaaaa
Galera, valeu pela atenção depois de dias lidando com isso (entre outras coisas) minha colega aqui me deu um a luz. Tava acontecendo que esse bloco não tava obedecendo o relacionamento com a outra tabela2 sabe. No caso eu dgitava o ID (tabela1)e ele não mostrava os itens da outra tabela relacionados ao ID... ai eu fiz um MOSTRAR_dados que mostrava o dados da tabela 2.,... mas o que acontecia ao eu mandar salvar (juntamente com os outros registros d tela que eu cadastrei) ele dava a Exception porque como não tava obedecendo o relacionamento ele tentava inserir os dados na tabela2 novamente. Ai então criamos uma trigger no principal when-timed-expired e copiamos parte do codigo que cria no automatico do relacionamento(on_populate_details_ e forçamos a obedecer o relacionamento ai TCHANAM funcionou!!!
declare
rel_id Relation;
begin
IF ( (:CONVENIADO.ID_PESSOAJURIDICA is not null) ) THEN
rel_id := Find_Relation('CONVENIADO.CONVENIADO_TIPO_CONVENIO_HOSP');
Query_Master_Details(rel_id, 'TIPO_CONVENIO_HOSP');
END IF;
go_item('TP_CONVENIADO');
end;