前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Oracle 通过子查询批量添加、修改表数据

Oracle 通过子查询批量添加、修改表数据

作者头像
郑小超.
发布2018-01-26 10:55:55
1.8K0
发布2018-01-26 10:55:55
举报
文章被收录于专栏:GreenLeavesGreenLeavesGreenLeaves

1、通过查询快速创建表

create table test1(id,job,mgr,sal)
as
(select * from  (select rownum rn,a.JOB,a.MGR,a.SAL from emp a where rownum<=10)  where rn>=6)   ---这是一个分页查询

ok,表创建成功

2、通过查询快速创建视图

create or replace view V_test1
as
(select * from  (select rownum rn,a.JOB,a.MGR,a.SAL from emp a where rownum<=10)  where rn>=6)   ---这是一个分页查询

ok,视图创建成功

注意:resource角色可能无法创建视图,所以你在创建视图的时候,可能会遇到权限不足的情况,解决方案是:以dba身份登录数据库,然后执行如下语句:

ok,可以创建视图了。

3、通过查询结果集结合Insert语句快速填充表

create table test2(id varchar2(100),mgr number(4),sal number(7,2))  --创建一张表test2
insert into test2 
select * from (select rownum rn,a.* from (select MGR,SAL from emp) a where rownum<=10)  where rn>=6   

ok,成功创建数据表,数据是自查询查出来的数据,注意表字段需要和子查询的结果集保持一致

4、通过子查询修改表数据

例:希望员工scott员工的岗位、工资、补助和smith的一样。

update emp set (job,sal,comm)=
(select job,sal,comm from emp where ename='SMITH')
where ename='SCOTT'
select job,sal,comm from emp where ename in ('SMITH','SCOTT')

ok,批量更新成功。

使用子查询更新,这样我们就不用一条条语句进行更新了

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-03-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档