Consultar outra tabela e decidir se mostra o registro

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
Pettras
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 5
Registrado em: Qua, 24 Fev 2010 2:23 pm
Localização: São José dos Campos - SP
Pettras Leonardo

Analista de Sistemas

Olá Pessoal

Meu problema é o seguinte:

Preciso consutar um campo em uma tabela que não é a tabela do bloco.
Fiz o seguinte código na triger pre-query:

Selecionar tudo

BEGIN
  
  DECLARE 
    	
    CURSOR C_CURSOR IS
      SELECT STATUS
      FROM TABELA_FORA
      WHERE TABELA_FORA.ID = :BLOCO.TABELA_DO_BLOCO.ID;
        
      V_STATUS VARCHAR2(3);
        
  BEGIN
    OPEN C_CURSOR;
    FETCH C_CURSOR INTO V_STATUS;
    CLOSE C_CURSOR;
    
    IF V_STATUS = 'não' THEN
         --NÃO MOSTRA ESSE REGISTRO
    END IF;
  END;
  
END;
Será que o meu raciocícnio está correto ?? Se sim qual o código quer eu poderia colocar dentro do IF para não mostrar o registro.
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

Eu faria um bloco baseado numa clausula FROM. (ou baseado numa view http://glufke.net/oracle/viewtopic.php?t=5 )

Dai você faria os JOINS necessarios pra buscar apenas o que você quer, e pronto. Sem triggers, nem nada. Deixa o forms fazer o trabalho :-)
Pettras
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 5
Registrado em: Qua, 24 Fev 2010 2:23 pm
Localização: São José dos Campos - SP
Pettras Leonardo

Analista de Sistemas

Consegui resolver usando exists (select 1 from ... ) na clausula where do bloco.

wlw pessoal...
Responder
  • Informação
  • Quem está online

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