PROCEDURE validate_date(p_date IN VARCHAR2,
p_list_cursor OUT sys_refcursor) IS
l_date VARCHAR2(40) := NULL;
l_err VARCHAR2(250) := NULL;
l_select VARCHAR2(4000) := NULL;
p_status VARCHAR2(40) := NULL;
BEGIN
IF NVL(p_date, 'X') = 'X' THEN --#如果时间是空,默认当前时间'YYYY-MM-DD HH24:MI:SS'
l_date := to_char(SYSDATE(),'YYYY-MM-DD HH24:MI:SS'); ---ROUTE DOES NOT EXISTS
ELSE
l_date:=p_date;
END IF;
--#查找b小于这个时间的数据
l_select := 'SELECT * FROM A WHERE B <' || CHR(39) ||
l_date || CHR(39);
--#将接个返回。系统调用时接收(LIST)
OPEN p_list_cursor FOR l_select;
--#如果有错误,将错误插入到日志表
EXCEPTION
WHEN OTHERS THEN
l_err := SUBSTR(SQLERRM, 1, 100);
p_status := 'E';
INSERT INTO errlog
VALUES
('validate_date',
l_err,
CURRENT_DATE);
commit;
END;
扫描具体是要做什么