Time of Update: 2018-12-06
文法規則:Create [or replace] trigger [模式.]觸發器名 Before| after insert|delete|(update of 列名)On 表名[for each row]When 條件PL/SQL塊說明:For each row的意義是:在一次動作表的語句中,每操作成功一行就會觸發一次;不寫的話,表示是表級觸發器,則無論操作多少行,都只觸發一次;When條件的出現說明了,在DML操作的時候也許一定會觸發觸發器,但是觸發器不一定會做實際的工作,
Time of Update: 2018-12-06
有兩個簡單例子,以說明 “exists”和“in”的效率問題1) select * from T1 where exists(select * from T2 where T1.a=T2.a) ; T1資料量小而T2資料量非常大時,T1<<T2 時,1) 的查詢效率高。2) select * from T1 where T1.a in (select T2.a from T2) ; T1資料量非常大而T2資料量小時,T1>>T2 時,2)
Time of Update: 2018-12-06
要從Oracle Procedure獲得資料集合,通常採用Ref Cursor的方式,要獲得此Cursor,有以下幾種方式:1.動態Sql返回:這種情況下,Procedure的運算通常比較簡單,比如根據參數組合sql或者多個Table的Join操作,但都可以通過一個sql陳述式完成查詢。CREATE OR REPLACE PROCEDURE sp_getcurrentstockpallet ( startdate DATE, enddate
Time of Update: 2018-12-06
在oracle中sequence就是所謂的序號,每次取的時候它會自動增加,一般用在需要按序號排序的地方。 1、Create Sequence 你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE許可權, CREATE SEQUENCE emp_sequence INCREMENT BY 1 -- 每次加幾個 START WITH 1 -- 從1開始計數 NOMAXVALUE -- 不設定最大值 NOCYCLE -- 一直累加,不迴圈 CACHE 10;
Time of Update: 2018-12-06
方法一 第一步:登入sql/plus執行命令(無先後順序) set time on; (說明:開啟時間顯示) set autotrace on; (說明:開啟自動分析統計,並顯示SQL語句的運行結果) set autotrace traceonly; (說明:開啟自動分析統計,不顯示SQL語句的運行結果) 二者選一個執行 第二步:輸入你要查看的sql執行 方法二 先執行 EXPLAIN PLAN FOR select * from G_GAMBLING gamb where
Time of Update: 2018-12-06
今天在Oracle官方網站上下載了oracle 9i(這裡下)安裝了一下。安裝到還真是不順,總結了一下要注意以下問題: 1、安裝檔案不能放在有中文名稱的路徑下。(會報載入資料庫時出錯) 2、在輸入sys和system口令是要夠複雜,且兩密碼不能相同(會報ora-00988缺少或無效口令)。 如sys密碼:oracle00;system密碼:oracle88
Time of Update: 2018-12-06
本操作基於PowerDesigner 15。 第一步:建立資料表(建立表省略)。第二步:給資料設定序列,實現自動成長。1.在表視圖的列上建立。 雙擊表視圖,開啟Table Properties對話方塊, 選擇Columens 選項卡, 雙擊要設定的列(顯示列的序號的那個按鈕,單擊後,會顯示橫向的黑色箭頭)。 開啟Column Properties 對話方塊。在
Time of Update: 2018-12-06
首先我們要登入到sqlplus上SQL>sqlplus scott/tiger為了方便尋找追蹤檔案我們在追蹤檔案後面加上尾碼'look_for_me',也可以不加,我們下面的例子也沒有加。SQL>alter session set tracefile_identifier='look_for_me';第一步查看追蹤檔案的路徑和檔案名稱SQL>show parameter user_dump_dest;-- 追蹤檔案的路徑SQL> select c.value || '/'
Time of Update: 2018-12-06
情境如下:--建立類型(type)create or replace type list_obj is table of number;--建立表結構create table test( name varchar2(30) primary key check(regexp_like(name,'^([a-z]|[0-9]|_)+$')), id number not null, version_list list_obj) nested table version_list store
Time of Update: 2018-12-06
很多網友詢問如何選擇入門書籍,學Oracle有什麼好書,這裡給出一些常見書籍的介紹。首先聲明,本文只涉及國外作品,因為國內的作品好的極少,大多是拼湊之作。提到入門學習,我又得搬Tom(Thomas Kyte)出來了。他在Ask
Time of Update: 2018-12-06
1、下載敏捷用戶端InstantClient(40M左右,選擇適合自己的下載)http://www.oracle.com/technetwork/cn/database/features/instant-client/index-092699-zhs.html2、下載安裝PLSQL(16M左右):http://www.onlinedown.net/soft/4902.htm 3、解壓 instantclient-basic-win32-11.2.0.1.0.zip 到建立檔案夾,如
Time of Update: 2018-12-06
前序:關於Oracle9i資料的匯出與匯入問題,折騰我好長時間了,尤其是匯入。今天在一位同事的指導下,算是終於成功了,為了記住這位同事的協助,在此僅以“坤”作為記號。本文:Oracle資料匯出:如果是匯出原生Oracle資料庫:exp pcisv62/11@ORCL file="d:\pcisv62081226.dmp" full=y (ORCL為本機資料庫監聽)如果是匯出伺服器端的Oracle資料:exp pcisv62/11@tnsname file="d:\pcisv62081
Time of Update: 2018-12-06
文章目錄 .Net程式中可以通過ODP調用特性,對Oracle資料庫進行操作,今天來講一下資料批量插入的功能,所用技術不高不深,相信很多朋友都接觸過,小弟班門弄斧了,呵呵。這篇文章是上篇文章的續集,因為上一次實驗的徵集結果沒有突破4秒的方法,所以這次繼續挑戰與挖掘新方法,雖然是Oracle,但仍具有一定收藏意義。
Time of Update: 2018-12-06
雖然natural join(自然串連)實際上的用的比較少,但實際上這個串連是非常有用的,若能經常使用一下,實際上是非常方便的。 自然串連是在兩張表中尋找那些資料類型和列名都相同的欄位,然後自動地將他們串連起來,並返回所有符合條件按的結果。 來看一下自然串連的例子。 Select emp.ename,dept.dname From emp natural join dept;
Time of Update: 2018-12-06
為了簡化SQL語句,可以將語句分成若干個視圖來操作,但是建立的試圖將會作為對象儲存在資料庫中,但經常有一些語句只是臨時使用,所以在sql-99規範中有了with as 語句,該語句實質上就是建立臨時視圖,來協助你簡化語句並使語句結構更清晰更容易閱讀。 下面的測試中會用到3張表,courseresults(課程-學生-成績表)、courses(課程表)、students(學生表),先給出建表語句:create table COURSERESULTS( CID NUMBER, SID
Time of Update: 2018-12-06
伺服器 2CPU 4G記憶體SGA共用池 384M緩衝區快取 1008M大型池 64MJava池 32MSGA總容量 1489.209MSGA的最大大小 1521.471MPGA總計PGA目標800M參數control_files = ('/oracle/app/product/9.2.0/oradata/ora9/control01.ctl', '/oracle/app/product/9.2.0/oradata/ora9/control02.ctl', '/oracle/
Time of Update: 2018-12-06
一、背景介紹 結構化查詢語言 (SQL)(Structured Query Language,簡稱SQL)是用來訪問關係型資料庫一種通用語言,屬於第四代語言(4GL),其執行特點是非過程化,即不用指明執行的具體方法和途徑,而是簡單地調用相應語句來直接取得結果即可。顯然,這種不關注任何實現細節的語言對於開發人員來說有著極大的便利。然而,有些複雜的商務程序要求相應的程式來描述,這種情況下4GL就有些無能為力了。PL/SQL的出現正是為瞭解決這一問題,PL/SQL是一種過程化語言,屬於第三代語言,
Time of Update: 2018-12-06
Basic Update Statements Update all recordsUPDATE <table_name> SET <column_name> = <value>CREATE TABLE test AS SELECT object_name, object_type FROM all_objs; SELECT DISTINCT
Time of Update: 2018-12-06
工作中需要從一個資料庫中的表GIS_WEICHAI_DATA_1S中的資料匯入到另個一資料庫的表GIS_WEICHAI_DATA_1S中,資料庫伺服器都是遠端<IP分別為: 221.131.228.256 211.161.192.46>!我的實現方法是在本地使用PL/SQL操作兩個遠程伺服器,實現方式如下:1. 為你需要操作的遠端資料庫伺服器建立本地服務名: 在本機資料庫安裝檔案中,找到$ORACLE_HOME/network/admin/
Time of Update: 2018-12-06
基本文法和執行個體: 1、EXP: 有三種主要的方式(完全、使用者、表) 1、完全: EXP SYSTEM/MANAGER BUFFER=64000 FILE=C:\FULL.DMP FULL=Y 如果要執行完全匯出,必須具有特殊的許可權 2、使用者模式: EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC