求救建表的问题

[复制链接]
查看11 | 回复9 | 2016-1-7 20:57:31 | 显示全部楼层 |阅读模式
我需要建立一个表,但这个表要定期生成.
而且这个表的名字要与系统的时间一样.比如:online_20050900
.
请教我该怎么写这个过程.
也就是达到.我在9月就能生成online_20050900
十月我就能生成online_20051000

谢谢回话.
回复

使用道具 举报

千问 | 2016-1-7 20:57:31 | 显示全部楼层
win   job调用 procedure
回复

使用道具 举报

千问 | 2016-1-7 20:57:31 | 显示全部楼层
我知道用job调用过程呀!!
主要是那个过程该怎么写!!
这个是关键.
回复

使用道具 举报

千问 | 2016-1-7 20:57:31 | 显示全部楼层
t_TableName := to_char(sysdate,'YYYYMMDD');
ret := func114.???sql('create table '||t_TableName||'( col01 varchar(20),......)');
我想肯定可以用这样来做,
但是具体怎么写我确实不知道了!哎...
请大家帮帮忙.
回复

使用道具 举报

千问 | 2016-1-7 20:57:31 | 显示全部楼层
create or replace procedure aaa
is
DECLARE
v_sss varchar2(500);
BEGIN
select to_char(sysdate,'YYYYMM')||'00' into v_sss from dual;
v_sss ='online_'||v_sss(你的表定义);
execute immediate v_sss;

END;
该用户要有显式的建表授权。
回复

使用道具 举报

千问 | 2016-1-7 20:57:31 | 显示全部楼层
v_sss ='online_'||v_sss(你的表定义);
------
v_sss ='create table online_'||v_sss(你的表定义);
回复

使用道具 举报

千问 | 2016-1-7 20:57:31 | 显示全部楼层
我试一下!!
这样做可能做出来有问题!:)
不过特别谢谢你的关注.
回复

使用道具 举报

千问 | 2016-1-7 20:57:31 | 显示全部楼层
这样应该不行!是不是需要建立一个动态的sql.
回复

使用道具 举报

千问 | 2016-1-7 20:57:31 | 显示全部楼层
SQL> create or replace procedure aaa
2as
3v_sss varchar2(500):='';
4BEGIN
5select to_char(sysdate,'YYYYMM')||'00' into v_sss from dual;
6v_sss :='create table online_'||v_sss||'(aa number)';
7--execute immediate v_sss;
8dbms_output.put_line(v_sss);
9END;
10/
Procedure created.
SQL> exec aaa;
create table online_20050800(aa number)
PL/SQL procedure successfully completed.
SQL>
回复

使用道具 举报

千问 | 2016-1-7 20:57:31 | 显示全部楼层
谢谢!!我看能不能带到我所需要!的!!谢谢你的指教和支持.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行