다른 무의미한 블록이나 스풀링 중에 사용할 수있는 V_TODAY 변수에 sysdate를 전달하고 싶습니다. V_TODAY 선언해야합니다 오류를 제공하는 코드 아래에 쓰고 있어요. 값이 NAME이고 ID가있는 변수의 경우 값을 전달할 수 있습니다.oracle에서 sys_date로 변수를 전달하는 방법
SET ECHO OFF;
SET FEEDBACK OFF;
SET HEAD OFF;
SET LIN 256;
SET TRIMSPOOL ON;
SET WRAP OFF;
SET PAGES 100;
SET TERM OFF;
SET SERVEROUTPUT ON;
SPOOL F:\LATEST\Loop_TRE.sql;
PROMPT VAR NAME VARCHAR2(100);
PROMPT VAR ID VARCHAR2(100);
PROMPT VAR V_TODAY date;
BEGIN
FOR TARGET_POINTER IN (SELECT NAME, ID from D_URL)
LOOP
DBMS_OUTPUT.PUT_LINE('DEFINE TARGET = '''||TARGET_POINTER.NAME||''';');
DBMS_OUTPUT.PUT_LINE('EXEC :NAME := '''||TARGET_POINTER.NAME||'''; ');
DBMS_OUTPUT.PUT_LINE('DEFINE TARGET1 = '''||TARGET_POINTER.ID||''';');
DBMS_OUTPUT.PUT_LINE('EXEC :ID := '''||TARGET_POINTER.ID||'''; ');
DBMS_OUTPUT.PUT_LINE('@@TGT_DOP.sql;');
END LOOP;
Select SYS_DATE INTO V_TODAY from DUAL;
DBMS_OUTPUT.PUT_LINE('DEFINE V_TODAY = '''||V_TODAY||''';');
DBMS_OUTPUT.PUT_LINE('EXEC :V_TODAY := '''||V_TODAY||'''; ');
DBMS_OUTPUT.PUT_LINE('@@Loop_TST.sql;');
END;
/
SPOOL OFF;
@@Loop_TRE.sql;
당신이 당신의 익명 블록에'V_TODAY'을 선언하는 대신 메시지를 표시하려고 했습니까? – fen1x
아니요 나는 단지 메시지를 표시하지 않고 있습니다. 나는 TGT_DOP.sql의 이름과 ID에 변수 값을 사용할 수있다. – Andrew
sysdste가 sysdste가 아니며, vtoday가 into 함수에 대한 변수가되어야한다는 점에 동의하는 경향이있다. where 절이 없다. –