【oracle】create table as select ....
如果现存一张表emp67,要本地复制一张新表可以用:
create table emp67_1 as select * from emp67;
执行效果是:
SQL> select * from emp67_1; ID NAME AGE ---------- ---------------------------------------- ---------- 1 杨志 21 2 鲁达 22 3 林冲 23 4 武松 24 5 李逵 25
如果需要增加字段或者减少字段,在select子句里明确指定就可以了,比如说下面就利用rownum造就了一个新的列MySn:
create table emp67_2 as select rownum as mysn,id,name,age from emp67;
执行效果是:
SQL> select * from emp67_2; MYSN ID NAME AGE ---------- ---------- ---------------------------------------- ---------- 1 1 杨志 21 2 2 鲁达 22 3 3 林冲 23 4 4 武松 24 5 5 李逵 25
或者:
create table emp67_3 as select rownum as mysn,a.* from emp67 a;
执行效果也是一样:
SQL> select * from emp67_3; MYSN ID NAME AGE ---------- ---------- ---------------------------------------- ---------- 1 1 杨志 21 2 2 鲁达 22 3 3 林冲 23 4 4 武松 24 5 5 李逵 25
PS:附上源表emp67的建表及充值语句:
create table emp67( id number(12), name nvarchar2(20), age number(3), primary key(id) ); insert into emp67(id,name,age) values(1,'杨志','21'); insert into emp67(id,name,age) values(2,'鲁达','22'); insert into emp67(id,name,age) values(3,'林冲','23'); insert into emp67(id,name,age) values(4,'武松','24'); insert into emp67(id,name,age) values(5,'李逵','25');
Java和Oracle里每个知识点貌似简单,能在合适场合组织起来却能起到惊艳的效果。
END