有兩個簡單例子,以說明 “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)
回複誤刪除資料資訊。1、執行 alter table table_name enable row movement;2、執行 FlashBack table table_name to timestamp to_timestamp('2012-05-24 14:59:36','yyyy-mm-dd hh24:mi:ss');查詢曆史操作資料資訊。比較合理的方法是先從閃回區尋找出被誤刪的資料,再將被誤刪的資料插入到原來的表中。 1、執行 select * from A as of
這個預存程序不是我寫的,但是很好使,特別適合剛匯入對象看到滿螢幕的叉。CREATE OR REPLACE PROCEDURE "USER"."RECOMPILE_SCHEMA" IS v_type user_objects.object_type%TYPE; v_name user_objects.object_name%TYPE; v_stat user_objects.status%TYPE; CURSOR c_obj IS SELECT base
create or replace trigger UserToTemp after insert or update or deleteon t_cs_one for each rowdeclare integrity_error exception; errno integer; errmsg char(200); tem1 varchar2(10); begin if inserting then se
ORACLE建立執行個體是我們最常用的操作之一,下面就為您詳細介紹ORACLE建立執行個體的全過程,希望對您能夠有所協助。一、ORACLE建立執行個體過程:1、安裝好ORACLE服務端。2、ORACLE建立執行個體,使用ORAHOME目錄下的"Configuration and Migration Tools"下的"Database Configuration
周大師培訓完後馬上跑到另一個兄弟單位處解決問題,真是佩服周大師啊。兄弟單位碰到了兩個棘手問題,一個資料imp時候報主鍵重複的錯誤,這個問題非常奇怪,暫時還不知道怎麼解決今天不說它啦。另一個問題是出在這樣一條SQL上面:select * from view_a awhere a.field_1,a.field_2,a.field_3,a.field_4in ( select field_1,field_2,field_3,field_4 from view_a group by
以前用sqlserver時習慣用 select * into tablename1 from tablename2 where ... 來複製表結構和資料。今天在用oracle時,需要複製表結構和資料,不加思索地寫了同上的語句,結果報錯,缺少關鍵字。 select into 的用法結構是 SELECT [DISTICT|ALL]{*|column[,column,...]}INTO (variable[,variable,...] |record)FROM
用於where比較條件的有: 等於:=、<、<=、>、>=、<> 包含:in、not in exists、not exists 範圍:between...and、not between....and 匹配測試:like、not like Null測試:is null、is not null 布爾連結:and、or、not萬用字元:在where子句中,萬用字元可與like條件一起使用。在Oracle中:
■修改初始化參數control_filesSQL> alter system set control_files= '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/control01.ctl', '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/control02.ctl',