2 개의 컬럼 (CAGE, HCC)이 허용 된 테이블이 있습니다. 내 프로 시저에서 중복 레코드를 표시하려면이 같은 쓴.컬럼 값이 null 일 수있는 중복 레코드 삭제
FOR REC IN (SELECT LOCATION, NIIN, INVL_DATE, CAGE,
HCC,SUM(CA_QTY) AS SUM_CA,SUM(COST_QTY) AS SUM_COST,COUNT(*) FROM INVENTORY
GROUP BY LOCATION, NIIN, INVL_DATE,
CAGE, HCC
HAVING COUNT(*)>1)
LOOP
VAR_LOC_NAME := REC.LOCATION;
VAR_NIIN := REC.NIIN;
VAR_DATE := REC.INVL_DATE;
VAR_CAGE := REC.CAGE;
VAR_HCC := REC.HCC;
VAR_CA_QTY := REC.SUM_CA;
VAR_COST_QTY := REC.SUM_COST;
FOR REC1 IN (SELECT SNO FROM INVENTORY WHERE LOCATION=VAR_LOC_NAME AND
NIIN=VAR_NIIN AND TUNC(INVL_DATE)=TRUNC(TO_DATE(VAR_DATE,'DD-MM-YY')) AND
CAGE=VAR_CAGE AND HCC=VAR_HCC)
LOOP
DBMS_OUTPUT.PUT_LINE('GET NUMBER '||REC1.SNO);
END LOOP;
end loop;
그러나 CAGE 및 HCC의 null 값에 대해서는 작동하지 않습니다. 참고 : 당신은, 그 CAGE
및 HCC
열 사용하지 않는 몇 가지 가치를 발견하고 오라클의 NVL
기능을 사용하여이 고유 한 값으로 NULL 값을 교체해야 내가 오라클 11g
NULL 대신 사용할 수있는 값이 있습니까 ('CAGE' 또는'HCC'에 행이 들어 있지 않은 값을 의미합니까)? –