oracle 创建表名是当前日期的表
发布网友
发布时间:2022-04-26 00:01
我来回答
共1个回答
热心网友
时间:2023-05-22 13:43
oracle中无法创建以全数字命令的表,必须要带有其他字母,可用如:t_日期
的格式。
单纯创建手动执行即可:
create table t_20151223
(id int,
name varchar2(10));但一般情况,日期为动态(即随时间变化而变化),则需要用存储过程创建:
declare
v_date varchar2(8);--定义日期变量
v_sql varchar2(2000);--定义动态sql
v_tablename varchar2(20);--定义动态表名
begin
select to_char(sysdate,'yyyymmdd') into v_date from al;--取日期变量
v_tablename := 't_'||v_date;--为动态表命名
v_sql := 'create table '||v_tablename||'
(id int,
name varchar2(20))';--为动态sql赋值
dbms_output.put_line(v_sql);--打印sql语句
execute immediate v_sql;--执行动态sql
end;