select into 与insert into select小记

来源:互联网 发布:淘宝客导购推广 编辑:程序博客网 时间:2024/06/10 03:58

今天要用到把一张表中的数据插入到另外一张表中。就想到了select into 语句。操作了半天,终于有些眉目,小记一下吧:

select  * into new_table from old_table 主要用于对某张表或者某张表的某些列,或者某几张表的某些列进行备份。但是它不能用于pl/sql,所以我费了半天的功夫也没有实现我的功能。它主要的语法如下:

①备份某张表:select * into new_table from old_table

②备份某张表的某些列[行]:select column1,column2,cloumn3 into new_table from old_table [where condition]

③备份某几张表的某些列:select t1.column1,t2.column2 into new_table from t1 inner join t2 on t1.column3=t2.column4 [where]

备注:select into 语句不是规范的备份语句,在这条语句执行的过程中会新建一张表。而且pl/sql不支持。


insert into select 这条语句实现了我的功能,语法如下:

insert table1(column1,column2,column3)select column11,column22,column33 from table2 [where]

一开始没有values看上去很不习惯,但是手动做一次就坦然了,仿佛就是这个样子。不知道别人有没有我这个感觉。


后记:之前看到过这两个语句,也自认为能写出来。不料今天真的用到了却懵了,所以又重新看了一些资料,这才完成。