form多选判断是否选择重复了

1.判断是否选择重复记录实现

在多选功能的情况下不有可能要求不能选择重复的记录,例如:


我们可以通过两层loop进行遍历,取第一个与每个进行对比,如果有相同的就GO_RECORD;这段代码可以直接拷贝当做模板。

/* FIRST_RECORD;

	LOOP---------outer
     IF :SYSTEM.RECORD_STATUS <> 'QUERY' THEN
        --判断是否输入了重复记录
        DECLARE
        	offer_t     VARCHAR2(20);  ---------13->20
        	temp_record     NUMBER;
     	    temp_item       VARCHAR2(256);
     	    count_t         NUMBER(20);
        BEGIN
        	temp_record := :SYSTEM.CURSOR_RECORD;
        	temp_item := :SYSTEM.CURSOR_ITEM;
        	GO_FIELD('CR_EXCEPTION_OFFER_SNCODE.OFFER_CODE');
        	count_t := 0;
        	offer_t := :SYSTEM.CURSOR_VALUE;
        	GO_BLOCK('CR_EXCEPTION_OFFER_SNCODE');
        	FIRST_RECORD;
        	LOOP--------inner
     	    count_t := count_t + 1;
        	IF temp_record <> count_t THEN
     	      GO_FIELD('CR_EXCEPTION_OFFER_SNCODE.OFFER_CODE');
     	      IF offer_t = :SYSTEM.CURSOR_VALUE THEN
     	        show_msg('E','Line '||TO_CHAR(temp_record)||' and line '||TO_CHAR(count_t)||' OFFER_CODE is duplicate, please check.');
     	        RAISE FORM_TRIGGER_FAILURE;
     	      END IF;
     	    END IF;
     	    IF :SYSTEM.LAST_RECORD = 'TRUE' THEN
     	      EXIT;
     	    ELSE
     	      NEXT_RECORD;
        	END IF;
          END LOOP;-------inner
          GO_RECORD(temp_record);     	
        END;		  
		END IF;
			
		IF :SYSTEM.LAST_RECORD = 'TRUE' THEN
				EXIT;
		ELSE
			NEXT_RECORD;
		END IF;
	END LOOP;------------------outer	

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值