clear_block中的no_commit和no_validate的区别是什么?
有相关例子可以参考吗?

解决方案 »

  1.   

    CLEAR_BLOCK
    功能:
         该内置子程序用于清空当前数据块中的所有记录
    类型:
         受限过程
    参数:
         ask_commit:提示用户提交数据
         do_commit:校验并提交数据
         no_commit:校验数据、清空当前数据块,但是不提交数据,也不提示用户。
         no_validate:直接清空当前数据块,但是不对数据进行校验和提交,也不提示用户。
      

  2.   

    IF :SYSTEM.FORM_STATUS = 'CHANGED' THEN
      DECLARE
        temp  VARCHAR2(60);
      BEGIN
       temp := SELECT_THREE_BOX('您是否需要保存所做的变更?');
      IF temp = 'NO' THEN
      CLEAR_BLOCK(NO_VALIDATE);
      ENTER_QUERY(NO_VALIDATE);
      ELSIF temp = 'CANCLE' THEN
      RAISE FORM_TRIGGER_FAILURE;
      ELSIF temp = 'YES' THEN
      EXECUTE_TRIGGER('KEY-COMMIT');
      IF FORM_SUCCESS THEN
      CLEAR_BLOCK(NO_VALIDATE);
      ENTER_QUERY(NO_VALIDATE);
      END IF;
      END IF;
                  END;
                  ELSE
            CLEAR_BLOCK(NO_VALIDATE);
    ENTER_QUERY(NO_VALIDATE);
                  END IF;