【请教】表命名

[复制链接]
查看11 | 回复9 | 2008-2-13 12:43:03 | 显示全部楼层 |阅读模式
在建表的时候,怎样能实现表的自动命名?
我想将新表的名字命名为TEST表的名字+系统时间,应该如和实现呢?
注:我的新表是通过TEST表复制而来的,SQL语句如下
CREATE TABLE XXX AS SELECT * FROM TEST;
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
动态SQL
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
写个PL/SQL吧,单条SQL语句不好搞
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
刚才按你的要求试验了几次,没有找到好的解决方法,关注中
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
我也找不到好的方法,PLSQL应该能实现,但是苦于我是初级水平,不知从和入手,还请大侠详细指点
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
我希望得到的新表名为TEST060324,大致就是这样的
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
最初由 lbg1110 发布
[B]我希望得到的新表名为TEST060324,大致就是这样的 [/B]

给你一个小东西,看看
---------------------

前提:grant create table to 你的用户
grant select on dba_users to 你的用户;

sqlplus 你的用户/你的口令
SQL> create table test (no int);
表已创建。
SQL> insert into test values(1);
已创建 1 行。
SQL> commit;
提交完成。
SQL> select * from test;
1
SQL> select table_name from tabs where table_name like 'TEST%';
TEST
SQL> create or replace procedure backup_table (p_tname varchar2,
2 p_tsname varchar2 default null,
3 p_ownervarchar2 default null) as
4
5v_sql varchar2(256);
6v_tsname varchar2(32);
7v_ownervarchar2(32);
8
9begin
10
11 if p_owner is null then
12v_owner:=user;
13 else
14v_owner:=upper(p_owner);
15 end if;
16 if p_tsname is null then
17select DEFAULT_TABLESPACE into v_tsname from dba_users where username=v_owner;
18 else
19v_tsname:=upper(p_tsname);
20 end if;
21 v_sql:='create table '||p_tname||'_'||to_char(sysdate,'yyyymmddhh24miss')||' tablespace '||v
_tsname||' as select * from '||v_owner||'.'||p_tname;
22 execute immediate v_sql;

23 exception
24 when OTHERS then
25
raise_application_error(-20001,'backup table '||p_tname||' error sql='||v_sql||' code='
||SQLCODE);
26end;
27

28 /
过程已创建。
SQL> exec backup_table('test');
PL/SQL 过程已成功完成。
SQL> select table_name from tabs where table_name like 'TEST%';
TEST
TEST_20060324143136
SQL> select* from TEST_20060324143136;
1
SQL>
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
十分感谢,启发甚大!
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
toms_zhang一直是我的偶像,再崇拜一次,努力追隨中!!
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
最初由 strong_sjhi 发布
[B]toms_zhang一直是我的偶像,再崇拜一次,努力追隨中!! [/B]




回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行