Oracle创建表(create table as)

本篇文章帮大家学习Oracle创建表(create table as),包含了Oracle创建表(create table as)使用方法、操作技巧、实例演示和注意事项,有一定的学习价值,大家可以用来参考。

CREATE TABLE AS语句用于通过复制现有表的列从现有表来创建新表。

注意:如果以这种方式创建表,则新表将包含现有表中的记录。

语法:

CREATE TABLE new_table  
AS (SELECT * FROM old_table);

创建表示例1:复制另一个表的所有列

在此示例中,我们通过复制现有表Customers中的所有列来创建newcustomers表。

CREATE TABLE newcustomers  
AS (SELECT *   FROM customers  WHERE customer_id < 5000);

新创建的表命名为newcustomers并具有与customers相同的表字段和记录(编号小于5000的所有记录)。

创建表示例2:复制另一个表的选定列

语法:

CREATE TABLE new_table  
  AS (SELECT column_1, column2, ... column_n  
      FROM old_table);

下面来看另一个例子:

CREATE TABLE newcustomers2  
AS (SELECT customer_id, customer_name  
    FROM customers  
    WHERE customer_id < 5000);

上面的例子将创建一个名为newcustomers2的新表。 此表包含customers表中指定的两列:customer_id和customer_name。

创建表示例3:从多个表复制选定的列

语法:

CREATE TABLE new_table  
AS (SELECT column_1, column2, ... column_n  
    FROM old_table_1, old_table_2, ... old_table_n);

下面来看一个例子:假设已经创建了两个表:regularcustomers和irregularcustomers。

regularcustomers表有三列:rcustomer_id,rcustomer_name和rc_city。

CREATE TABLE  "regularcustomers"   
   (    "RCUSTOMER_ID" NUMBER(10,0) NOT NULL ENABLE,   
    "RCUSTOMER_NAME" VARCHAR2(50) NOT NULL ENABLE,   
    "RC_CITY" VARCHAR2(50)  
   )  
/

第二个表:irregularcustomers也有三列:ircustomer_id,ircustomer_name和irc_city。

CREATE TABLE  "irregularcustomers"   
   (    "IRCUSTOMER_ID" NUMBER(10,0) NOT NULL ENABLE,   
    "IRCUSTOMER_NAME" VARCHAR2(50) NOT NULL ENABLE,   
    "IRC_CITY" VARCHAR2(50)  
   )  
/

在下面的示例中,将创建一个表名:newcustomers3,从两个表复制指定列。

示例:

CREATE TABLE newcustomers3  
  AS (SELECT regularcustomers.rcustomer_id, regularcustomers.rc_city, irregularcustomers.ircustomer_name  
      FROM regularcustomers, irregularcustomers  
      WHERE regularcustomers.rcustomer_id = irregularcustomers.ircustomer_id  
      AND regularcustomers.rcustomer_id < 5000);
     oracle教程    

站长公告

极客大全致力于分享java、c#、php、python等编程语言教程,帮助广大程序员解决问题。

热门标签