外部表与多表INSERT语句学习

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/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/15203236/viewspace-536244/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值