一、复制表
1、select into,使用查询结果新建表
结构:
create table 表名(字段名1,字段名2,......)
as select 语句
2、insert into select,使用查询结果插入到表中
结构:
insert into 表名(字段名1,字段名2,......) select 语句
二、插入时,选择插入或修改
若数据存在,则更新数据,否则,新增数据。
结构:
merge into 表名 using 与表产生关联的字段值 on (判断语句) when matched then 如果条件为真 when not matched then 如果条件不为真
例如:
--表中是否有id为6的数据,如果有则修改它,如果没有则新建一条 --需要新增数据的表 merge into students a --确定比较对象:为一行两列的表,字段为id,name,内容为6,lurenjia using (select 6 id,'lurenjia' name from dual) b --比较条件:判断学生中是否有id为6的数据, on (a.id = b.id) --如果有:更新学生数据 when matched then update set a.name = b.name --如果没有:新增lurenjia数据 when not matched then insert (id,name) values(b.id,b.name)
三、递归函数
若一个表内有自关联,则为一个树形结构,通过递归操作可以取出某一个数的分支。
结构:
select * from 表名 --开始位置 start with 字段名=值 --id为共有属性,pid为关联数据 --pid在后,向下查询,pid在前,向上查询 connect by prior id = pid
例如:查询Austin的上级结构。
select * from EMPLOYEES t start with last_name='Austin' connect by prior manager_id=employee_id标签:name,递归,--,into,插入,字段名,Oracle,id,select From: https://www.cnblogs.com/lurenjia-bky/p/17015827.html