存储过程
CREATE OR REPLACE PROCEDURE DATA_MIGRATION ( endDay VARCHAR2 ) IS QUERY_SQL VARCHAR ( 10000 );
COM_STR VARCHAR ( 10000 );
BEGIN
QUERY_SQL := 'CREATE TABLE GPS_OLD_' || REPLACE ( endDay, '-', '' ) || ' AS SELECT * FROM GPS_2021_02';
dbms_output.put_line ( '保留数据开始时间-:' || endDay );
COM_STR := ' WHERE NOW_TIME < TO_DATE(''' || endDay || ''', ''yyyy-mm-dd'' )';
QUERY_SQL := QUERY_SQL || COM_STR;
dbms_output.put_line ( '备份SQL--:' || QUERY_SQL );
EXECUTE IMMEDIATE QUERY_SQL;
QUERY_SQL := 'DELETE GPS_2021_02' || COM_STR;
dbms_output.put_line ( '删除SQL--:' || QUERY_SQL );
EXECUTE IMMEDIATE QUERY_SQL;
commit;
END DATA_MIGRATION;
PL/SQL调用
备份2023-05-12以前的数据
BEGIN
DATA_MIGRATION('2023-05-12');
END;
标签:STR,COM,备份,put,endDay,SQL,Oracle,QUERY,数据
From: https://blog.51cto.com/xyz5/6941046