我有一个带有存储日期的变量“ RUN_DATE”的SP_1。我有另一个SP_2,并且在此SP_2中,我希望SP_1运行,前提是且仅当SP_1中的变量的日期在最近15天内。
这怎么可能?
SP_1:
CREATE OR REPLACE PROCEDURE "SP_1"
is
Run_DATE DATE;
BEGIN
Run_DATE := SYSDATE;
// DO STUFF
END;
SP_2:
CREATE OR REPLACE PROCEDURE "SP_2"
is
//DECLARE VARIABLES
BEGIN
// PSEUDO CODE:
// IF Run_DATE FROM SP_1 < SYSDATE -15 DAYS
// CALL SP_1 AND RUN IT
// ELSE DO NOT CALL SP_1
END;
答案 0 :(得分:0)
您的过程应如下所示-
CREATE OR REPLACE PROCEDURE SP_1(RUN_DATE IN DATE)
IS
//declare magic variables
BEGIN
//do magic
END;
CREATE OR REPLACE PROCEDURE SP_2(parameters if any)
IS
//declare variable for RUN_DATE
BEGIN
IF RUN_DATE_VARIABLE > SYSDATE - 15
THEN
SP_1(RUN_DATE_VARIABLE);
END IF;
END
在这种情况下,除非您仅在SP_1中获取RUN_DATE,否则上述方法将起作用
CREATE OR REPLACE PROCEDURE SP_2(parameters if any)
IS
//declare magic variables
BEGIN
SP_1(parameters if any);
END;
CREATE OR REPLACE PROCEDURE SP_1(parameters if any)
IS
//declare RUN_DATE_VARIABLES
BEGIN
// fetch value of the RUN_DATE variable
IF RUN_DATE_VARIABLE > SYSDATE - 15
THEN
// do something
END;
END;