【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

posted @ 2022-06-07 22:38  逆火狂飙  阅读(925)  评论(0编辑  收藏  举报
生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东