麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

從Oracle數(shù)據(jù)庫中讀取數(shù)據(jù)自動生成INSERT語句的方法

2020-07-26 13:58:45
字體:
來源:轉載
供稿:網(wǎng)友

Oracle INSERT 語句

方法1

我估計有點 SQL 基礎的人都會寫 INSERT 語句。下面是 SQL 標準寫法。

INSERT INTO employees (employee_id, name) VALUES (1, 'Zhangsan');INSERT INTO employees VALUES (1, 'Shangbo');

方法2

其實, Oracle 還支持下面的寫法,作用和上面的語句完全相同。

INSERT INTO (SELECT employee_id, name FROM employees) VALUES (2, 'Lisi');

方法3

此外,同其他數(shù)據(jù)庫一樣,Oracle 也支持下面這種寫法。

INSERT INTO employeesSELECT 3, 'Wangwu' FROM DUAL;

方法4

下面這種寫法可以實現(xiàn)列轉行,如我們有下面的表存儲原始數(shù)據(jù),原始數(shù)據(jù)可能從文件中來。

create table sales_input_table (prod_id    number(9,0),amt_mon    number(9,6),amt_tue    number(9,6),amt_wed    number(9,6),amt_thu    number(9,6),amt_fri    number(9,6));insert into sales_input_table values (1, 100.0, 200.0, 300.0, 400.0, 500.0);

下面我們通過一個 SQL 把上面的數(shù)據(jù)插入到下面的表中實現(xiàn)列轉行。

CREATE TABLE sales (prod_id    number(9,0),time_id    date,amount     number(9,0));INSERT ALLINTO sales (prod_id, time_id, amount) VALUES (prod_id, CURRENT_DATE, amt_mon)INTO sales (prod_id, time_id, amount) VALUES (prod_id, CURRENT_DATE + 1, amt_tue)INTO sales (prod_id, time_id, amount) VALUES (prod_id, CURRENT_DATE + 2, amt_wed)INTO sales (prod_id, time_id, amount) VALUES (prod_id, CURRENT_DATE + 3, amt_thu)INTO sales (prod_id, time_id, amount) VALUES (prod_id, CURRENT_DATE + 4, amt_fri)SELECT prod_id, amt_mon, amt_tue, amt_wed, amt_thu, amt_fri FROM sales_input_table;

方法5

下面這種寫法可以幫我們一次性把一個表中的數(shù)據(jù)倒入到多個表中,否則我們必須寫多條 SQL 實現(xiàn)同樣的功能。

INSERT ALLWHEN order_total <= 100000 THENINTO small_ordersWHEN order_total > 100000 AND order_total <= 200000 THENINTO medium_ordersWHEN order_total = 500000 THENINTO special_ordersWHEN order_total > 200000 THENINTO large_ordersELSEINTO large_ordersSELECT order_id, order_total, sales_rep_id, customer_id FROM orders;

注意,當 order_total 大于 200000 時,orders 會被插入到 large_orders 和 special_orders 中。這可能不是你想要的結果,如果你只想讓 orders 插入到 special_orders 表中,你只需要把 ALL 替換成 FIRST, 如下。

INSERT FIRSTWHEN order_total <= 100000 THENINTO small_ordersWHEN order_total > 100000 AND order_total <= 200000 THENINTO medium_ordersWHEN order_total = 500000 THENINTO special_ordersWHEN order_total > 200000 THENINTO large_ordersELSEINTO large_ordersSELECT order_id, order_total, sales_rep_id, customer_id FROM orders;

從Oracle數(shù)據(jù)庫中讀取數(shù)據(jù),自動生成INSERT語句

創(chuàng)建表

-- Create tablecreate table TB_ACCIDENT_TYPE( ID     NUMBER(20) not null, NAME    VARCHAR2(50), PATH    VARCHAR2(20), PARENTPATH VARCHAR2(20), URL    VARCHAR2(20), TYPE    VARCHAR2(2), DESCR   VARCHAR2(50))

顯示表中的數(shù)據(jù)

select 'INSERT INTO tb_accident_type (ID,NAME,PATH,PARENTPATH,URL,TYPE,DESCR) VALUES(' || '''' || ID ||'''' || ','|| '''' || NAME || '''' || ','|| '''' || PATH || '''' || ','|| '''' || PARENTPATH || '''' || ','|| '''' || URL || '''' || ','|| '''' || TYPE || '''' || ','|| '''' || DESCR || '''' || ');'  From tb_accident_type order by ID

顯示結果

INSERT INTO tb_accident_type (ID,NAME,PATH,PARENTPATH,URL,TYPE,DESCR) VALUES('1','事故類型關聯(lián) ','1','0','','0','');INSERT INTO tb_accident_type (ID,NAME,PATH,PARENTPATH,URL,TYPE,DESCR) VALUES('2','危險源類型關聯(lián)','2','0','','','');INSERT INTO tb_accident_type (ID,NAME,PATH,PARENTPATH,URL,TYPE,DESCR) VALUES('3','危險品類型關聯(lián)','3','0','','','');INSERT INTO tb_accident_type (ID,NAME,PATH,PARENTPATH,URL,TYPE,DESCR) VALUES('4','生產(chǎn)企業(yè)類型關聯(lián)','4','0','','','');INSERT INTO tb_accident_type (ID,NAME,PATH,PARENTPATH,URL,TYPE,DESCR) VALUES('5','區(qū)域關聯(lián)','5','0','','0','');INSERT INTO tb_accident_type (ID,NAME,PATH,PARENTPATH,URL,TYPE,DESCR) VALUES('568','物體打擊','1.1','1','','1','物體打擊');INSERT INTO tb_accident_type (ID,NAME,PATH,PARENTPATH,URL,TYPE,DESCR) VALUES('569','車輛傷害','1.2','1','','1','車輛傷害');INSERT INTO tb_accident_type (ID,NAME,PATH,PARENTPATH,URL,TYPE,DESCR) VALUES('570','機器傷害','1.3','1','','1','機器傷害');INSERT INTO tb_accident_type (ID,NAME,PATH,PARENTPATH,URL,TYPE,DESCR) VALUES('571','起重傷害','1.4','1','','1','起重傷害');INSERT INTO tb_accident_type (ID,NAME,PATH,PARENTPATH,URL,TYPE,DESCR) VALUES('572','觸電','1.5','1','','1','觸電');INSERT INTO tb_accident_type (ID,NAME,PATH,PARENTPATH,URL,TYPE,DESCR) VALUES('573','淹溺','1.6','1','','1','淹溺');INSERT INTO tb_accident_type (ID,NAME,PATH,PARENTPATH,URL,TYPE,DESCR) VALUES('574','灼燙','1.7','1','','1','灼燙');INSERT INTO tb_accident_type (ID,NAME,PATH,PARENTPATH,URL,TYPE,DESCR) VALUES('575','火災','1.8','1','','1','火災');INSERT INTO tb_accident_type (ID,NAME,PATH,PARENTPATH,URL,TYPE,DESCR) VALUES('576','高處墜落','1.9','1','','1','高處墜落');INSERT INTO tb_accident_type (ID,NAME,PATH,PARENTPATH,URL,TYPE,DESCR) VALUES('577','坍塌','1.10','1','','1','坍塌');INSERT INTO tb_accident_type (ID,NAME,PATH,PARENTPATH,URL,TYPE,DESCR) VALUES('578','冒頂片幫','1.11','1','','1','冒頂片幫');INSERT INTO tb_accident_type (ID,NAME,PATH,PARENTPATH,URL,TYPE,DESCR) VALUES('580','透水','1.12','1','','1','透水');INSERT INTO tb_accident_type (ID,NAME,PATH,PARENTPATH,URL,TYPE,DESCR) VALUES('581','波炮','1.13','1','','1','波炮');INSERT INTO tb_accident_type (ID,NAME,PATH,PARENTPATH,URL,TYPE,DESCR) VALUES('582','火藥爆炸','1.14','1','','1','火藥爆炸')INSERT INTO tb_accident_type (ID,NAME,PATH,PARENTPATH,URL,TYPE,DESCR) VALUES('583','瓦斯爆炸','1.15','1','','1','瓦斯爆炸');

總結

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林網(wǎng)的支持。如果你想了解更多相關內(nèi)容請查看下面相關鏈接

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 午夜精品久久久久久久久久久久久蜜桃 | 日日狠狠久久 | 午夜视频在线看 | 国产精品啪一品二区三区粉嫩 | 亚洲第一成人在线 | 欧美国产综合视频 | 久久影院免费观看 | 欧美雌雄另类xxxxx | 精品在线观看一区二区三区 | 色诱亚洲精品久久久久久 | 人禽l交免费视频观看 视频 | 国产精品一区二区三区在线播放 | 国产精品视频2021 | 刘亦菲一区二区三区免费看 | 在线播放的av网站 | 噜噜社 | 欧美精品一区二区中文字幕 | 精品一区二区三区免费毛片爱 | 欧美成人激情在线 | 美女性感毛片 | 一级黄色大片在线观看 | 77成人影院| 成年人在线免费播放视频 | 色七七亚洲 | 欧美国产综合视频 | 欧美极品欧美精品欧美视频 | 一级一级一级毛片 | 欧美日本91精品久久久久 | 天堂成人一区二区三区 | 天堂在线资源av | 中午日产幕无线码1区 | 一边吃奶一边插下面 | 99久久婷婷国产综合精品青牛牛 | 在线播放黄色网址 | 国产午夜三级一区二区三桃花影视 | 91av视频大全 | 日本一区二区视频在线观看 | 一级电影免费 | 欧美一级爱爱 | 国产成人高清在线观看 | 一级毛片在线免费观看 |