金仓数据库局部变量的定义和使用都不太一样,使用如下sql可以实现把student表按日期备份,并清空student表
DECLARE
end_date VARCHAR := TO_CHAR(NOW(),'yyyyMMdd_hh24miss');
alter_sql VARCHAR := '
ALTER TABLE "student" RENAME TO "student_bak_'||end_date||'";
CREATE TABLE "PUBLIC"."student"(
LIKE "PUBLIC"."student_bak_'||end_date||'" INCLUDING CONSTRAINTS INCLUDING INDEXES INCLUDING DEFAULTS
);
';
BEGIN
EXECUTE alter_sql;
END
例:2022-02-02 12:01:01时执行
执行结果:
原表变为 student_bak_20220202_120101 表
生成一个新的 student 空表