PL/SQL使用INSERT...SELECT一次插入多行数据

  通常我们使用INSERT命令向表中插入行,而有时用户需要根据已有表和视图的记录,讲其中特定的数据添加到目标表中,这是可以使用INSERT...SELECT语句来实现。该语句实际上包含两个部分:INSERT(插入语句)和SELECT(查询语句),其语法可表示如下:

Insert into Table2(field1,field2,...) select value1,value2,... from Table1

  这样,通过INSERT...SELECT语句一次性向目标表中插入大量数据。另外,使用该语句时,需要注意一下几点:
    INSERT语句不能从正在被插入的表和视图中选择数据。

    在INSERT INTO语句红,列的数目必须等于从SELECT语句返回列的数目。

    在INSERT INTO语句中,列的数据类型必须与SELECT语句返回列的数据类型相同。

  T-SQL中相同效果的语法如下:SELECT vale1, value2 into Table2 from Table1。

  INSERT...SELECT语句通常用来创建一个查找表,已提高检索性能。查找表可以包含分布在多个数据库的多个表中的数据。因为多个表连接起来比简单茶韵要慢,对一个表执行SELECT查询,则明显快于执行又长又复杂的连接查询。

  今天做门诊医生站项目刚好需要从其他表中复制一些行到另外的一张表中,固写下此文。这个方法可行且高效,为证可行,截图如下:

当然,为达到这个目的,方法还有很多,本文就是提供一个解决此类需求的方案,不一定最好,仅供各位需要的博友参考~

如果你是这方面高手,温故以知新~

 

posted @ 2012-06-19 16:41  DebugLZQ  阅读(23945)  评论(4编辑  收藏  举报