Oracle利用函數實現多行資料合併的效果

做了兩天,終於把一個要的顯示結果做出來了。。。這裡只是把我的學習過程總結一下,對那些需要的人提供協助!前提:公司讓我們新人陪服務端到手機端的xml檔案,說白了就是ORM映射的原理,但是略有不同,需要手動的去寫Oracle的指令碼代碼。其中有個欄位需要把各個列的資料合併。就是把中的YPTSFLMC的欄位合并成一行,查過很對的資料,其中最簡單用Oracle內建的wm_concat函數了,但是我查的資料太多了,用wm_concat函數做不出來,只能自己手寫一個自訂函數。首先先看一下代碼: 1 /*

Oracle做關聯更新

    在Oracle中做關聯更新比在Sql

Oracle資料庫的備份方法

1、引言

Oracle的Archive Log模式下的恢複工作

學習並測試了一下Oracle資料庫在開啟Archive Log模式下的恢複。系統是Win2K Server+Oracle 8.1.7。參考了Chinaunix.net和ITPub.com網站相關資料.在此感謝給我的協助。注意,養成一個好的習慣非常重要.在開始恢複之前,以及恢複完成後,都要做一個系統全備份。首先,要開啟Archive Log歸檔記錄模式。1. 關閉資料庫2.

ORACLE 10g Clusterware卸載

Subject: How to Clean Up After a Failed Oracle Clusterware (CRS) Installation   Doc ID: 239998.1 Type:  BULLETIN   Modified Date:  18-MAR-2009 Status:  PUBLISHED PURPOSE-------The purpose of this document is to help DBA's and support analysts

Oracle命中率查詢,SGA調優

--資料快取區命中率  --計算公式:1-(physical reads / (db block gets + consistent gets))  --命中率應大於0.90最好    select name,value  from v$sysstat  where name in ('physical reads','db block gets','consistent gets')  /  --共用區庫緩衝區命中率  --計算公式:SUM(pins - reloads) /

RHEL AS 4 U4安裝ORACLE 10g RAC碰到的問題(VMware server)

10g RAC安裝起來步驟比較多,時間比較長,裝了兩天才裝好下面是前兩天安裝的時候碰到的問題:一、在安裝ocfs2時耽誤了很久,裝好後,運行/usr/sbin/ocfs2console,選擇 [Clucster]-[Configure Nodes] ,總出現:“Could not start cluster stack.This must be resolved before any ocfs2...."原因:1。要disable selinux安全!編輯

oracle的license和正版使用問題

1, 正版Oracle 產品和盜版的區別 直奔主題,這是許多研發不注意的地方。對於商用(就是你不是在家裡,自己玩),嚴格來說,就是一張許可證紙的區別。不管是什麼時候,下載的版本都可以建立資料庫並正常開發,但是如果用於商業,就屬於違法行為,後果我不必說了。至於昂貴的價格,其實很大部分是維護費用, 另外下載版是不可以打補丁的(並不是說打不上,而是你沒有帳號去下載,另外任何對下載免費版打補丁的行為都是非法的),而正式版有產品服務碼,可用於線上

Oracle效能誤區–MTS,RAC,分區,並行查詢

      學習一項新的東西前需要理解其目的,下面這篇文章側面介紹了ORACLE中RAC等4個組件的優缺點,以供日後參考。下面為文章全文:為了提高效能,我們針對Oracle資料庫本身提供了的方法或方案進行過不少的償試主要包括:     共用伺服器模式(MTS)     叢集技術(Clustering),RAC      分區   

Oracle中varchar2(20)和varchar2(20 byte)區別

    開發環境中:有的表中欄位類型定義為varchar2(20)有的表中欄位類型定義為varchar2(20 byte)varchar2(20)和varchar2(20 byte)是否相同呢?相不相同是由資料庫的參數NLS_LENGTH_SEMANTICS決定的,有兩個單位,char(字元)或者位元組(byte),該參數預設值為BYTE。所以說,在預設情況下 varchar2(20) = varchar2(20 byte)。如果參數值為CHAR

批量獲得oracle預存程序等

  同事想把項目組寫的預存程序儲存下來,不是dump那種,而是可以隨時看,每個預存程序以獨立檔案存放。首先想到的是開發工具PL/SQL developer有儲存預存程序的功能,但是批量和篩選功能有限。toad倒是有這方面的功能,但是這些工具不是任何場合就能用的。所以,還是原始的指令碼比較可靠…舉例:把datacore使用者下所有以CFA或者以AAC開頭的預存程序儲存到C:\procedures下。1、建立以下預存程序 create or replace procedure

Oracle SQL多表查詢

曾經一段時間我對oracle的多表查詢搞的雲裡霧裡,究其原因:oracle自己的文法和SQL國際標準文法混用。此文章僅適合oracle 菜鳥,老鳥直接飛過…多表連線類型(SQL 1999標準)• Cross joins • Natural joins • USING clause• Full (or two-sided) outer joins• Arbitrary join conditions for outer joinsSQL1999文法:SELECT table1.column,

Oracle觸發器4-資料庫事件觸發程序

建立資料庫事件觸發程序文法 1 CREATE [OR REPLACE] TRIGGER trigger_name 2 {BEFORE | AFTER} {database_event} ON {DATABASE | SCHEMA}3 DECLARE 4 Variable declarations 5 BEGIN 6 ...some code... 7

Oracle觸發器1-介紹

Oracle官方參考:PL/SQL Language Referenc->9 PL/SQL TriggerReasons to Use Trigger:■ Automatically generate calculated column values  ■ Log events ■ Gather statistics on table access ■ Modify table data when DML statements are issued against views

Oracle 尋找並刪除表中的重複記錄

案例:一個應用表中的一個欄位是主鍵,向表中插入資料時,先把資料放在暫存資料表中(沒有主鍵)然後再插入應用表。這時候如果暫存資料表中有重複資料,無論是主鍵欄位businessid有重複,還是一整行有重複都會報出違反唯一主鍵約束錯誤。方法:group by  XX having count(*)>1,rowid,distinct,temporary table,procedure1、查詢表中的重複資料a.重複一個欄位b.重複多個欄位c.重複一整行建立測試表:create table cfa (

Oracle觸發器2-DML觸發器

  DML觸發器是最常見的觸發器類型,開發人員用的比較多;而其他類型的觸發器主要是用於資料庫管理或者審計,DBA用的比較多。1、DML觸發器簡介:BEFORE 觸發器這種觸發器是在某個操作發生之前觸發的,比如before insert就是在插入操作之前觸發。AFTER 觸發器這種觸發器是在某個操作發生之後觸發的,比如after

C#對Oracle BLOB欄位的寫入讀取方法

1.寫入BLOB:   string file_name = "D:\\20080523.jpg";   string conn_str = "Provider=OraOLEDB.Oracle.1;Password=agoodjob;Persist Security Info=True;User ID=ams;Data Source=ims;Extended Properties=";//Provider必須用OraOLEDB.Oracle.1   OleDbConnection cn = ne

ORACLE中日期和時間函數匯總

 在oracle中處理日期大全   TO_DATE格式  Day:  dd number 12  dy abbreviated fri  day spelled out friday  ddspth spelled out, ordinal twelfth  Month:  mm number 03  mon abbreviated mar  month spelled out march  Year:  yy two digits 98  yyyy four digits

Oracle 中遊標執行個體

隱式遊標beginupdate try set 成績=60 where 課程編號='C008' and 成績<60;if SQL%notfound then    dbms_output.put_line('There is no score below 60!');end if;end;/-- 遊標變數的使用declaretype cursor_type is ref cursor;stu_cursor cursor_type;v_stu 學生基本資料%rowtype;notfound

oracle 建立作業(注意,要在plsql的命令視窗來自執行)

 一、建立一個預存程序create or replace procedure MY_Procedureis          --這裡用到了遊標           cursor cur is              select * from users where length(name) > 10 ;begin          for user in cur          loop              insert into users_temp values(user

總頁數: 1509 1 .... 1095 1096 1097 1098 1099 .... 1509 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.