2014-02-07 4 views
0

LOV에서 선택된 값으로 쿼리를 실행해야합니다.Oracle : LOV가 선택된 값으로 쿼리 실행

나는 다음 설정있어 "MENIU"라는

  • 블록을
  • 열 "ID_MENIU"와 "MENIU"라는 테이블.
  • LOV 명 "LOV_MENIURI"
  • P_IDMENIU
  • LOV I '에서 선택한 값이 쿼리를 실행하려면 "Alegeti Meniul"

라는 형태의 버튼라는 매개 변수

LOV 반환 항목 "ID_MENIU는"PARAMETER.P_IDMENIU에 블록의 사전 쿼리
  • 설정
    • MENIU 내가 PARAMETER.P_IDMENIU 할당 한이 시도했습니다
    • 버튼 "Alegeti Meniul을"MENIU.ID_MENIU하는 값은 다음 "버튼이 눌러 진"트리거 코드를 가지고 :

      declare 
          success boolean; 
      begin 
      Enter_Query; 
      success := show_lov('LOV_MENIURI'); 
      Execute_Query; 
      end; 
      

    내 문제는 처음 아무것도 버튼을 누르면 버튼을 두 번 누르면 LOV 창이 나타나고 쿼리가 두 번 실행됩니다. 결과에

    GIF 파일은 :

  • 답변

    0

    당신은 그 enter_query 호출이 필요하지 않습니다.

    begin 
        if show_lov('LOV_MENIURI') then 
        execute_query; 
        end if; 
    end; 
    

    LOV에 의해 반환 된 값을 사용하여 WHERE 절을 설정, 내장은 사전 쿼리 트리거를 발생거야 execute_query를 호출 할 때.