Oracle 通過子查詢批量添加、修改表數據


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,批量更新成功。

使用子查詢更新,這樣我們就不用一條條語句進行更新了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM