Time of Update: 2018-07-26
Oracle9i引入了MERGE命令,你能夠在一個SQL語句中對一個表同時執行inserts和updates操作. MERGE命令從一個或多個資料來源中選擇行來updating或inserting到一個或多個表.Oracle 10g中MERGE有如下一些改進: 1、UPDATE或INSERT子句是可選的 2、UPDATE和INSERT子句可以加WHERE子句 3、ON條件中使用常量過濾謂詞來insert所有的行到目標表中,不需要串連源表和目標表
Time of Update: 2018-07-26
oracle恢複刪除的表或表記錄的方法 文章分類:資料庫 一:表的恢複 對誤刪的表,只要沒有使用PURGE永久刪除選項,那麼從flash back區恢複回來希望是挺大的。一般步驟有: 1、從flash back裡查詢被刪除的表 select * from recyclebin 2.執行表的恢複 flashback table
Time of Update: 2018-07-26
-- Start 首先,我們準備一下測試資料。 CREATE TABLE TEST( NAME VARCHAR2(20), BIRTHDAY DATE);INSERT INTO TEST VALUES ('張三', DATE '2014-12-14');INSERT INTO TEST VALUES ('李四', DATE '2013-12-14');INSERT INTO TEST VALUES ('王五', DATE '2012-12-14');INSERT INTO
Time of Update: 2018-07-26
為了方便大家學習和測試,所有的例子都是在Oracle內建使用者Scott下建立的。 Oracle中的select語句可以用start with ... connect by prior ...子句實現遞迴查詢,connect by 是結構化查詢中用到的,其基本文法是: select ... from where <過濾條件,用於對返回的所有記錄進行過濾> start with <根結點的限定語句,當然可以放寬限定條件,以取得多個根結點,實際就是多棵樹>
Time of Update: 2018-07-26
前段時間用的是select last_number-1 from user_sequences where sequence_name='序列名'.這個方法是有隱患的.在有大量並發訪問做insert操作的時候可能會出現取錯值的現象.今天查到一個新的方法.在insert後使用select 序列名.CURRVAL from dual也可以拿到數值.而且這個CURRVAL
Time of Update: 2018-07-26
-- Start 首先,我們準備一下測試資料。 CREATE TABLE TEST( NAME VARCHAR2(20), BIRTHDAY DATE);INSERT INTO TEST VALUES ('張三', DATE '2014-12-14');INSERT INTO TEST VALUES ('李四', DATE '2013-12-14');INSERT INTO TEST VALUES ('王五', DATE '2012-12-14');INSERT INTO
Time of Update: 2018-07-26
ADD_MONTHS:加月 SELECT SYSDATE,ADD_MONTH(SYSDATE,1) FROM DUAL; SYSDATE ADD_MONTHS(SYSDATE,1) ----------- --------------------- 03
Time of Update: 2018-07-26
1、首先需要確認幾個事情,原資料庫的使用者名稱、密碼、資料表空間名還有使用者的角色。 2、匯出表中的資料。使用plsql的匯出表功能。 其實使用的是oracle/product/10.1.0/Db_1/bin/EXP.EXE。沒啥好說的,匯出dmp格式的檔案就行。 將產生的dmp檔案上傳到aix系統中。 ftp 11.11.11.11 put data.dmp 3、連結到linux系統的oracle管理頁面:http://123.456
Time of Update: 2018-07-26
轉載自:http://www.2cto.com/database/201208/146529.html Oracle job 定時器的執行時間間隔也是定時器job 的關鍵設定,在這一設定上,開始還沒掌握,總是不知道怎麼寫,現總結如下,其實主要是使用了TRUNC、NEXT_DAY 、ADD_MONTHS 、LAST_DAY 幾個函數的配合使用。 1)、每分鐘執行 Interval =>
Time of Update: 2018-07-26
參考文檔:http://www.cnblogs.com/eshizhan/archive/2012/04/06/2435493.html <span style="font-size:18px;">-- nvl函數-- NVL( string1, replace_with) 功能:如果string1為NULL,則NVL函數返回replace_with的值,否則返回string1的值。select nvl(flag,'11')flag
Time of Update: 2018-07-26
在查詢中排序時避免不了的,一般寫sql我們都會加排序欄位。 如果排序欄位是字串,那就有點麻煩。 比如一個數字欄位,本來應該設計成Integer型的,但設計成了varcher型。 那排序就有問題。數位話,他會先拍最高位,再拍第2位。 比如8,12降序排序就是8,12而不是我們想要的12,8. 如果有Null 字元串,那Null 字元串就拍第一個。 所以需要把字串轉成數字在排序,這樣就正常了。 to_number()
Time of Update: 2018-07-26
這是大二時候寫在QQ空間裡的一篇文章,我還記得當時這個問題花費了我整一天的時間去搞定它,所以那時體會頗深,所以那時特意記錄了下了這個解決的過程,今天突然有興緻想找出幾篇大學時寫在空間裡的文章和大家分享下,以防類似當年的我發生的話,又得花費很多時間,以下為當時記錄的全部內容:
Time of Update: 2018-07-26
ORACLE終於在10G中提供了對Regex的支援,以前那些需要通過LIKE來進行的複雜的匹配就可以通過使用Regex更簡單的實現。 ORACLE中的支援Regex的函數主要有下面四個: 1,REGEXP_LIKE :與LIKE的功能相似 2,REGEXP_INSTR :與INSTR的功能相似 3,REGEXP_SUBSTR :與SUBSTR的功能相似 4,REGEXP_REPLACE :與REPLACE的功能相似 在新的函數中使用Regex來代替萬用字元‘%’和‘_’。
Time of Update: 2018-07-26
try { PreparedStatement stmt = session.connection().prepareStatement(sql); ResultSet rs = stmt.executeQuery(); while (rs.next()) { Clob clob = (Clob)rs.getObject(1); result = ClobToString(clob); } } catch
Time of Update: 2018-07-26
遊標就是資料的緩衝區,PLSQL不允許輸出集合值,只能輸出單個屬性,遊標你就可以把它理解為ajax中的RowData 1查看目前使用者下的預存程序: select * from user_procedures; 2查看所有使用者(注意有查詢許可權) select * from all_procedures; 3 oracle預存程序中is和as的區別?
Time of Update: 2018-07-26
執行個體示範: (1)查詢表users中的資料。 select u.id,u.realname,U.SEX from users u; 查詢結果如下 ID REALNAME SEX 1 10082 松XX 2 10084 林XX 1 3 10087 西XX 4 10100 胡XX
Time of Update: 2018-07-26
資料庫運行模式 專用伺服器模式 共用伺服器模式... 專用伺服器模式 每個session都有一個專用的進程為其服務 多用於只有少數用戶端串連伺服器 或OLTP(聯機交易處理系統) 專用伺服器使用的遊標、使用者資訊、棧空間都來自於PGA 共用伺服器模式 也叫做多線程伺服器模式 多個使用者進程使用同一個伺服器處理序 進入隊列處理 多用於多客戶串連伺服器 共用伺服器使用的遊標、使用者資訊 記憶體來自於SGA(內的大池)
Time of Update: 2018-07-26
Oracle 欄位類型為varchar2,格式要與格式化的樣式匹配 當天 select * from 表名 where to_char(to_date(欄位名,'yyyy-mm-dd hh24:mi:ss'),'dd')=to_char(sysdate,'dd') 當周 select * from 表名 where to_char(to_date(欄位名,'yyyy-mm-dd
Time of Update: 2018-07-26
今天幫同學安裝Oracle的時候,發現報這樣一個錯誤(SID已經存在),以下是解決方案: 1、 開始->設定->控制台->管理工具->服務停止所有Oracle服務。 2、 開始->程式->Oracle - OraHome81->Oracle Installation Products->Universal Installer卸裝所有Oracle產品,但Universal Installer本身不能被刪除
Time of Update: 2018-07-26
最近的RP 值有點低,昨天開始裝個10g的RAC。 遇到了N多問題。 解決raw 裝置的問題之後, 在第二個節點執行root.sh 時候,報錯如下: [root@rac2 ~]# /u01/app/oracle/product/crs/root.sh WARNING: directory '/u01/app/oracle/product' is not owned by