Time of Update: 2018-12-07
觸發器有兩種after和before,區別在於每次提交事務觸發一次和每一行資料的更新都觸發一次,使用時候要注意,以免達不到目的 ORACLE產生資料庫觸發器的文法為: create [or replace] trigger 觸發器名 觸發時間 觸發事件 on 表名 [for each row] pl/sql 語句 其中: 觸發器名:觸發器對象的名稱。由於觸發器是資料庫自動執行 的,因此該名稱只是一個名稱,沒有實質的用途。 觸發時間:指明觸發器何時執行,該值可取:
Time of Update: 2018-12-07
dul10恢複oracle lob資料方法 5.4 LOB欄位的DUL測試 5.4.1 準備一張含BLOB欄位的表 如下示範了如何將LOB檔案從作業系統匯入庫中。 //HR使用者下建一張含BLOB型欄位的表T_BLOB SQL> show userUSER is "HR"SQL> CREATE TABLE T_blob2 (3 image_id number,4 file_name varchar2(30),5 image_data blob6 )7 lob
Time of Update: 2018-12-07
1.首先應該將Oracle安裝在單獨伺服器上並進行dbca,正常監聽和啟動服務。2.在SDE伺服器上安裝Oracle Network Software,以便在SDE伺服器上執行sql操控遠程Oracle伺服器,相對於SDE伺服器是Oracle伺服器的一個用戶端。3.根據不同的作業系統安裝SDE,post時需要做一點調整,在Windows平台上,需手工建立sde服務,因為post無法為遠程SDE伺服器建立sde服務。sdeservice -o create -d ORACLE10G,ORACLE_
Time of Update: 2018-12-07
標題:Oracle中的rownum不能使用大於>的問題轉自網路,稍做修改:一、對rownum的說明 關於Oracle 的 rownum 問題,很多資料都說不支援SQL語句中的“>、>=、=、between...and”運算子,只能用如下運算子號“<、<=、!=”, 並非說用“>、>=、=、between..and”時會提示SQL語法錯誤,而是經常是查不出一條記錄來,還會出現似乎是莫名其妙的結果來。 其實,只要理解好了這個 rownum
Time of Update: 2018-12-07
近期經常遇到Oracle備份與還原的問題,總是做些重複的工作,想想有沒有一勞永逸的辦法呢?沒有做不到的,只有想不到的。先前總是用指令碼執行備份與還原工作,即Exp與Imp命令操作符。並且重複的在DOS視窗中敲打命令,所以寫了一個BAT檔案,然後又將其加入到作業系統中的作業調度即計劃任務中,讓作業系統定期去執行這個設定好的BAT檔案,這樣就達到了定期自動備份Oracle資料庫的目的,呵呵,不過這個方法只適合備份要求不高的初級備份,如果進階DBA,本文章可以跳過,呵呵。 1、寫一個BAT檔案。
Time of Update: 2018-12-07
命令如下:SQL> conn sys/sys as sysdba;SQL> shutdown immediate;SQL> STARTUP MOUNT;SQL> ALTER SESSION SET SQL_TRACE=TRUE;SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;SQL> ALTER SYSTEM SET
Time of Update: 2018-12-07
Oracle行轉列的寫法(轉貼):行轉列CREATE TABLE t_row_col ASSELECT id, 'c1' cn, c1 cv FROM t_col_rowUNION ALLSELECT id, 'c2' cn, c2 cv FROM t_col_rowUNION ALLSELECT id, 'c3' cn, c3 cv FROM t_col_row;SELECT * FROM t_row_col ORDER BY 1,2;1)AGGREGATE
Time of Update: 2018-12-07
使用Oracle ODP.NET 11g的.NET程式發布方法(轉) ODP.NET 11g 是Oracle發布的供.NET程式訪問Oracle資料庫的ADO.NET組件,比微軟內建的Oracle組件效能好,更可以訪問UDT(User Defined Type)類型,Procedure,REF等等進階Oracle特性。.NET 1.1的用戶端需要的發布檔案如下:Oracle.DataAccess.dll (odt111\odp.net\bin\1.x)OraOps11.dll
Time of Update: 2018-12-07
在上次寫的一篇筆記(在Oracle中使用內部關鍵字做欄位名)中我提到用""解決Oracle關鍵字作為欄位名的辦法。最近卻發現""不同於SQL Server中的[],亂用會造成不必要的麻煩。 發現這個情況源於使用PowerDesigner做資料庫設計,我直接使用了它產生的SQL指令碼來建立資料庫。這當然沒有出現問題,但接下來向表中插入資料時卻報出了ORA-00904 invalid
Time of Update: 2018-12-07
SQL是用於訪問ORACLE資料庫的語言,PL/SQL擴充和加強了SQL的功能,它同時引入了更強的程式邏輯。 PL/SQL支援DML命令和SQL的事務控制語句。DDL在PL/SQL中不被支援,這就意味作在PL/SQL程式塊中不能建立表或其他任何對象。較好的PL/SQL程式設計是在PL/SQL塊中使用象DBMS_SQL這樣的內建包或執行EXECUTE IMMEDIATE命令建立動態SQL來執行DDL命令,PL/SQL編譯器保證對象引用以及使用者的許可權。
Time of Update: 2018-12-07
SYS使用者在CMD下以DBA身份登陸:在CMD中打sqlplus /nolog然後再conn / as sysdba注意點:1.如果在PL/SQL 等工具裡開啟的話,直接修改下面的代碼中[斜體加粗部分]執行2.確保路徑存在,比如【D:\oracle\oradata\Oracle9i\】也就是你要儲存檔案的路徑存在/*分為四步 *//*第1步:建立暫存資料表空間 */create temporary tablespace user_temp tempfile
Time of Update: 2018-12-07
有些是測試用的資料,不過我覺得功能上基本上是實現了。 順便也附上單獨插入CLOB或是BLOB的方法。我的也是在上面稍加改造弄出來的。能同時插入CLOB和BLOB的Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1/**//// <summary> 2 /// 同時寫CLOB和BLOB 3 /// </
Time of Update: 2018-12-07
oracle字元亂碼問題,處理步驟:1 尋找伺服器端字元集:select * from v$nls_parameters找到NLS_CHARACTERSET ZHS16GBKZHS16GBK就是伺服器端字元集2 尋找用戶端字元集:進入登錄編輯程式 regeditHKEY_LOCAL_MACHINE-->SOFTWARE-->ORACLE-->找到NLS_LANG這個鍵的值就是用戶端字元集,SIMPLIFIED
Time of Update: 2018-12-07
項目中遇見統計每個課題組的”試劑“與”耗材“採購額與採購次數,當時查詢統計“試劑”的採購額與採購次數,然後查詢統計"耗材"的採購額與採購次數。這種方式效率很差,反反覆複訪問資料庫很多次,如果oracle提供了行列裝置函數就很好的解決此問題。oracle 11g提供PIOVToracle 10g提供的有decodedecode的邏輯如下:DECODE(value, if1, then1, if2,then2, if3,then3, . . . else
Time of Update: 2018-12-07
在fedora 12上面安裝oracle 11gR2 前言:這篇文章主要是翻譯的oracle-base的那篇安裝教程,不過由於英文的行文方式翻譯成中文比較彆扭,他這篇文章裡面也有不完美的地方,我再慢慢調整,現在這篇文章只是作為一個參考,每台機子情況不同,完全照著做基本上是裝不上,貼一下本文地址,防止有人把半成品給轉走哈,加上地址這樣別人看了好知道成品在哪,文章寫的是x86_64位的安裝教程,其實也適用於32位http://bbs.fedora-zh.org/showthread.php?4776
Time of Update: 2018-12-07
預設的scott使用者是被鎖定的,先解鎖就能登陸上了。 使用下面的語句解鎖scott: Java代碼 alter user scott account unlock; alter user scott account unlock;解鎖之後可能會要求你該密碼: Java代碼 alter user scott identified by tiger; alter user scott identified by tiger;再登陸: Java代碼
Time of Update: 2018-12-07
1. 隨機返回記錄 Select * from (select ename,job from emp order by dbms_random.value()) where rownum<=5 隨機返回五條記錄。其中用到了系統函數dbms_random.value()為隨機數 2. 處理空值排序select * from emp order by comm desc nulls last;空值排在最前select * from emp order by comm desc nulls
Time of Update: 2018-12-07
我先裝了oracle9,再安裝了pl/sql dev,這時我輸入使用者名稱、口令可以串連伺服器。隨後我再安裝了ODAC 11.2 Release 4 (11.2.0.3.0) with Oracle Developer Tools for Visual Studio,我再使用pl/sql dev聯結時,報錯Oracle 10g ORA-12154: TNS: could not resolve the connect identifier
Time of Update: 2018-12-07
剛看了《oracle 高效設計》的講到的,說到oracle中有標量子查詢,效能要由於關聯查詢,但是我在SQL server中知道關聯查詢的效能要優於標量子查詢。 我們來做個測試,看看效能:執行語句:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->set autotrace onselect a.username,count(*)
Time of Update: 2018-12-07
內容引自:多行一列資料合併成一行一列資料http://topic.csdn.net/u/20090714/17/5FE6A0F7-CE78-4936-BE31-21D462236059.html在MySQL和Oracle中實現行合并 http://www.blogjava.net/rain1102/archive/2009/06/24/283867.htmlSQL