oracle 中动态sql语句,表名为变量,怎么解
2个回答
2016-12-22 · 知道合伙人互联网行家
关注
展开全部
表名可用变量,但一般需要用到动态sql,举例如下:
declare
v_date varchar2(8);--定义日期变量
v_sql varchar2(2000);--定义动态sql
v_tablename varchar2(20);--定义动态表名
begin
select to_char(sysdate,'yyyymmdd') into v_date from dual;--取日期变量
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;
执行以后,就会生成以日期命名的表。
declare
v_date varchar2(8);--定义日期变量
v_sql varchar2(2000);--定义动态sql
v_tablename varchar2(20);--定义动态表名
begin
select to_char(sysdate,'yyyymmdd') into v_date from dual;--取日期变量
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;
执行以后,就会生成以日期命名的表。
2016-12-29
深圳中宇视通科技有限公司
深圳中宇视通科技有限公司,专业生产液晶拼接屏,监视器,广告机,查询机,触摸一体机,微信打印广告机,户外定制广告机,定制显示端产品,欢迎来公司考察指导,期待跟您的合作!
向TA提问
关注
展开全部
表名可用变量,但一般需要用到动态sql,举例如下: declare v_date varchar2(8);--定义日期变量 v_sql varchar2(2000);--定义动态sql v_tablename varchar2(20);--定义动态表名 begin select to_char(sysdate,'yyyymmdd') into
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询