如果你要做轉(zhuǎn)換查詢,真心勸你不要這么干,我的寫法很麻煩,一張表不停的查詢,邏輯讀肯定搞得要死。

創(chuàng)新互聯(lián)建站堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的萬州網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
如果是往下面這張表灌數(shù),那么可以寫循環(huán),慢慢來一行對應(yīng)一列,可以根據(jù)表的列和數(shù)據(jù)的對應(yīng)關(guān)系往里面灌,這個相對簡單些。
我的寫法大概是子查詢+union all 上面為a表
那么就寫為select ‘第一季度' 銷售額,(select 第一季度銷售額 from a where 產(chǎn)品名稱='奶酪')奶酪,(select 第一季度銷售額 from a where 產(chǎn)品名稱='啤酒') from dual
union all
還像上面那么寫,寫第二季度
union all
第三季度
union all
第四季度
一張表重讀查詢8次,如果表很大,我估計機(jī)器會宕掉的。
因為單獨(dú)從一列來看也可以理解為列轉(zhuǎn)行,所以用case when寫也可以,這么寫似乎讀取的次數(shù)會少些,不過要用到group by分組,天知道二者最后誰的消耗大。不過如果表很大的話,還是那句話,建議新建表然后灌數(shù),這么直接查,真的會死掉的。
以上為個人建議,如果找到什么好寫法,也可以研究下。
直接新建一個Job,里面些匿名PLSQL程序塊即可:
BEGIN
INSERT INTO B
SELECT A.ID, A.ANAME, A,ATYPE
FROM A
WHERE NOT EXISTS(
SELECT 1 FROM B WHERE B.BID = A.AID AND B.BNAME=A.ANAME);
END;
/
1、如果列名不適合,那么可以使用alter table語句的rename column子句改變列名。
2、用plsql developer工具修改方便。
Oracle數(shù)據(jù)庫一個最重要的部分就是數(shù)據(jù)字典,是只讀類型的表的集合,提供數(shù)據(jù)庫的信息。
一個數(shù)據(jù)字典包括: 數(shù)據(jù)庫對象所有的框架對象的定義〔表、視圖、索引、群集、同義詞、序列、過程、函數(shù)、包、觸發(fā)器等)。
數(shù)據(jù)字典的結(jié)構(gòu)是表和視圖,就像其他數(shù)據(jù)庫數(shù)據(jù)一樣,一個給定數(shù)據(jù)庫的所有數(shù)據(jù)字典表的和視圖都存儲在數(shù)據(jù)庫的SYSTEM表空間中。數(shù)據(jù)字典不但是每個Oracle數(shù)據(jù)庫的重要組戍部分之一,同時對于所有的用戶,從應(yīng)用設(shè)計人員到數(shù)據(jù)庫管理員,都是非常重要的工具。可以使用SQL語句訪問數(shù)據(jù)字典,由于數(shù)據(jù)字典是只讀的,所以只能使用SELECT語句訪問數(shù)據(jù)字典的表和視圖。
新聞名稱:oracle怎么移動列,oracle開啟行移動
本文路徑:http://chinadenli.net/article3/dseioos.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、網(wǎng)站策劃、網(wǎng)站排名、靜態(tài)網(wǎng)站、網(wǎng)站改版、移動網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)