ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 外部表与多表INSERT语句学习

外部表与多表INSERT语句学习

原创 Linux操作系统 作者:gvora 时间:2009-01-09 23:32:02 0 删除 编辑

1、外部表

      Oracle 9i可以直接通过新的外部表特性来对数据库以外的文件进行访问,可以在数据库里定义一个外部表,然后指向数据库所运行的服务器上的一个物理数据文件。您可以用创建表的命令创建一个外部表,并使用新的ORGANIZATION EXTERNAL子句。一旦定义好这个表之后就可以使用普通的SQL SELECT语句访问它。如果想删除某个已存在的外部表,直接用drop table命令即可。

 

2、多表INSERT语句

      Oracle 9i引入了多表INSERT语句,采用以下三个形式:

  • Unconditional(无条件的):没有任何限制地向多个表中插入给定的数据;
  • Pivoting(枢轴式):用一个费规范化的结构把数据插入到一个或多个表中;
  • Conditional(有条件的):根据已有的特定条件对每个约束进行条件控制。

示例:

 

SQL> conn scott/tiger

已连接。

 

SQL> create table quarterly_sales_by_store

  2  (store_id number primary key,

  3  sales_q1 number,

  4  sales_q2 number,

  5  sales_q3 number,

  6  sales_q4 number,

  7  year number);

 

表已创建。

 

SQL> insert into quarterly_sales_by_store values(1,100,200,300,600,2008);

 

已创建 1 行。

 

SQL> insert into quarterly_sales_by_store values(2,200,400,600,1200,2008);

 

已创建 1 行。

 

SQL> create table all_sales

  2  (store_num number not null,

  3  qu varchar2(10),

  4  sales number);

 

表已创建。

 

SQL> insert all

  2  into all_sales values(store_id,'Q1',sales_q1)

  3  into all_sales values(store_id,'Q2',sales_q2)

  4  into all_sales values(store_id,'Q3',sales_q3)

  5  into all_sales values(store_id,'Q4',sales_q4)

  6  select store_id,sales_q1,sales_q2,sales_q3,sales_q4

  7  from  quarterly_sales_by_store where year='2008';

 

已创建8行。

 

SQL> select * from all_sales;

 

 STORE_NUM QU              SALES

---------- ---------- ----------

         1 Q1                100

         2 Q1                200

         1 Q2                200

         2 Q2                400

         1 Q3                300

         2 Q3                600

         1 Q4                600

         2 Q4               1200

 

已选择8行。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15203236/viewspace-536244/,如需转载,请注明出处,否则将追究法律责任。

上一篇: Oracle的Merge语句
下一篇: 基本的索引概念
请登录后发表评论 登录
全部评论

注册时间:2008-12-30

  • 博文量
    62
  • 访问量
    289415