커서 선언에서 변수를 사용하는 방법이 있습니까? 예 -오라클의 커서 선언 쿼리에서 변수 사용
create or replace PROCEDURE PRD (IN_VAR IN VARCHAR2)
IS
V_V1 TABLE.DATE_COL%TYPE;
/* Cursor decleration */
CURSOR CUR_DUMMY
IS
SELECT COL1,COL2,COL3
FROM TABLE
WHERE DATE_COL BETWEEN V_V1
AND V_V1+1;
BEGIN
FOR REC IN CUR_DUMMY
LOOP
SELECT TO_DATE(TO_CHAR(sysdate, 'DD-MON-YY') ||' '||(SELECT TO_CHAR(DAY_BEGIN,'HH24:MI:SS') FROM TABLE2),'DD-MON-YY HH24:MI:SS') INTO V_V1 from DUAL;
-- other stuffs
END LOOP;
END;
여기서 커서는 필요한 레코드를 가져 오지 않습니다. 커서 선언 이전에 V_V1 값을 할당 할 수 있습니까? 커서 자체에서 날짜를 얻을 수 있지만 중복 쿼리가 선택됩니다. 더 좋은 방법이 있습니까?
eaxmple이 작동하지 않습니다. 'V_V1' 값을 지정하기 전에 이미'select' 문장을 사용 했습니까? 따라서 V_V1을 선택하면 NULL입니다. – Tenzin