锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲欧美一级二级三级,国模 一区 二区 三区,欧美影片第一页http://m.shnenglu.com/ivenher/category/2686.htmlzh-cnMon, 19 May 2008 21:51:54 GMTMon, 19 May 2008 21:51:54 GMT60OTL鎬ц兘http://m.shnenglu.com/ivenher/articles/39973.html鐖遍キ鐩?/dc:creator>鐖遍キ鐩?/author>Sat, 29 Dec 2007 16:18:00 GMThttp://m.shnenglu.com/ivenher/articles/39973.htmlhttp://m.shnenglu.com/ivenher/comments/39973.htmlhttp://m.shnenglu.com/ivenher/articles/39973.html#Feedback1http://m.shnenglu.com/ivenher/comments/commentRss/39973.htmlhttp://m.shnenglu.com/ivenher/services/trackbacks/39973.html浠婂ぉ鍦ㄥ仛涓涓▼搴忔ц兘鎻愬崌鏃跺彂鐜皁tl_stream.絎竴涓弬鏁癰uffer size 瀵規(guī)ц兘褰卞搷寰堝ぇ,浠ヤ笅鏄嚑涓祴璇曟暟鎹?
鍙傝? http://otl.sourceforge.net/otl3_stream_class.htm
50   2.06
<1:536704> 18:31:58.068 [00001] The load SQL is [select USER_NUMBER from dr_gsm_931_20050831 where 1=1 ]
<1:536704> 18:34:04.713 [00001] There are 3612066 records is loaded!

100 1.38
<1:2085112> 18:36:23.727 [00001] The load SQL is [select USER_NUMBER from dr_gsm_931_20050831 where 1=1 ]
<1:2085112> 18:38:01.923 [00001] There are 3612066 records is loaded!
1.23
<1:2085112> 18:38:06.941 [00001] The load SQL is [select USER_NUMBER from dr_gsm_931_20050831 where 1=1 ]
<1:2085112> 18:39:29.849 [00001] There are 3612066 records is loaded!

200  1.02
<1:1499250> 18:41:47.711 [00001] The load SQL is [select USER_NUMBER from dr_gsm_931_20050831 where 1=1 ]
<1:1499250> 18:42:49.300 [00001] There are 3612066 records is loaded!
<1:1499250> 18:42:54.312 [00001] The load SQL is [select USER_NUMBER from dr_gsm_931_20050831 where 1=1 ]
<1:1499250> 18:43:53.717 [00001] There are 3612066 records is loaded!
500  0.43
<1:1978536> 18:45:57.790 [00001] The load SQL is [select USER_NUMBER from dr_gsm_931_20050831 where 1=1 ]
<1:1978536> 18:46:40.685 [00001] There are 3612066 records is loaded!
<1:1978536> 18:45:09.982 [00001] The load SQL is [select USER_NUMBER from dr_gsm_931_20050831 where 1=1 ]
<1:1978536> 18:45:52.787 [00001] There are 3612066 records is loaded!
1000  0.35
<1:1597632> 18:47:42.973 [00001] The load SQL is [select USER_NUMBER from dr_gsm_931_20050831 where 1=1 ]
<1:1597632> 18:48:17.715 [00001] There are 3612066 records is loaded!
<1:1597632> 18:48:22.718 [00001] The load SQL is [select USER_NUMBER from dr_gsm_931_20050831 where 1=1 ]
<1:1597632> 18:49:01.119 [00001] There are 3612066 records is loaded!
<1:1597632> 18:51:17.837 [00001] The load SQL is [select USER_NUMBER from dr_gsm_931_20050831 where 1=1 ]
<1:1597632> 18:51:24.416 [10001] Signal 31 recieved.
<1:1597632> 18:49:49.976 [00001] The load SQL is [select USER_NUMBER from dr_gsm_931_20050831 where 1=1 ]
<1:1597632> 18:50:28.192 [00001] There are 3612066 records is loaded!

2000  0.34
<1:2883830> 18:51:47.365 [00001] The load SQL is [select USER_NUMBER from dr_gsm_931_20050831 where 1=1 ]
<1:2883830> 18:52:21.163 [00001] There are 3612066 records is loaded!
<1:2883830> 18:52:26.166 [00001] The load SQL is [select USER_NUMBER from dr_gsm_931_20050831 where 1=1 ]
<1:2883830> 18:53:01.576 [00001] There are 3612066 records is loaded!

鍙﹀,緙栬瘧鏃跺畾涔?a >OTL_STREAM_POOLING_ON 涔熶細(xì)瀵規(guī)ц兘鏈夋墍鎻愬崌.
鍙傝? http://otl.sourceforge.net/otl3_ex113.htm


]]>
oracle-plsql 寮傚父澶勭悊錛?4 錛?http://m.shnenglu.com/ivenher/articles/14133.html鐖遍キ鐩?/dc:creator>鐖遍キ鐩?/author>Wed, 25 Oct 2006 08:26:00 GMThttp://m.shnenglu.com/ivenher/articles/14133.htmlhttp://m.shnenglu.com/ivenher/comments/14133.htmlhttp://m.shnenglu.com/ivenher/articles/14133.html#Feedback1http://m.shnenglu.com/ivenher/comments/commentRss/14133.htmlhttp://m.shnenglu.com/ivenher/services/trackbacks/14133.html 寮傚父澶勭悊

褰撳紓甯哥敓鎴愪箣鍚庯紝紼嬪簭琚腑姝紝鎺у埗鏉冧氦緇欏紓甯稿鐞嗘ā鍧楋紝寮傚父澶勭悊妯″潡鎹曡幏褰撳墠寮傚父鍙ユ焺錛屽茍浜ょ敱鐩稿簲鐨勭▼搴忓鐞嗭紱濡傛灉錛屽紓甯鎬績(jī)閲屾ā鍧楁病鏈夋崟鎹夊埌寮傚父鍙ユ焺錛岄偅涔堝畠?yōu)畣琚紶杈撳埌褰撳墠绋嬪簭鐨勫鍥淬?/span>

闄ら潪鐢變竴浜涚壒孌婄殑瑕佹眰錛屼竴鑸儏鍐典笅寮傚父灝嗗啀褰撳墠紼嬪簭鐨勫紓甯稿鐞嗘ā鍧椾腑琚鐞嗐傚紓甯稿鐞嗘ā鍧椾互 EXCEPTION 寮濮?/span> END; 緇撳熬銆?/span>

聽聽聽聽聽聽 Declare

聽聽聽聽聽聽 聽聽聽聽聽聽 /*鈥︹︹︹?/

聽聽聽聽聽聽 begin

聽聽聽聽聽聽 聽聽聽聽聽聽 /*鈥︹︹︹?/

聽聽聽聽聽聽 exception

聽聽聽聽聽聽聽聽聽聽聽聽聽 when /* 寮傚父鍚嶇О */

聽聽聽聽聽聽聽聽聽聽聽聽聽 then /* 寮傚父澶勭悊 */

聽聽聽聽聽聽聽聽聽聽聽聽聽 when other

聽聽聽聽聽聽聽聽聽聽聽聽聽 then /* 寮傚父澶勭悊 */

聽聽聽聽聽聽 end;

寮傚父澶勭悊妯″潡鐨勮娉曞熀鏈笂浠?/span> CASE 涓鑷達(dá)紝鍑℃槸鍦?/span> when 涓湁瀹氫箟鐨勫紓甯擱兘灝嗚澶勭悊錛岃屾病鏈夌殑鍒欒浼犺緭銆備竴涓壒孌婄殑寮傚父澶勭悊璇彞鏄?/span> WHEN OTHERS 銆傚氨鎯沖湪錛?/span> 3 錛変腑鎵璇寸殑錛屽畠浼?xì)澶勭悊鎵鏈変負(fù)琚鐞嗙殑寮傚父錛屽洜姝ゅ繀欏誨皬蹇?jī)鋴社敤瀹冨Q屾渶濂芥槸鍦ㄦ渶澶栧眰鐨勭▼搴忎腑銆傚綋鐒跺鏋滃枩嬈㈠伔鎳掔殑錛屽ぇ鍙互鍦ㄥ紓甯稿鐞嗘ā鍧椾腑鍙斁涓涓?/span> OTHERS 銆傛敞鎰忥紝鏃犺鍝鎯呭喌錛?/span> OTHERS 鍙兘榪欏彧鍦ㄥ紓甯稿鐞嗙殑鏈鍚庝竴浣嶃?/span>

鏈夎叮鐨勬槸錛屽彲浠ュ湪涓涓?/span> when 涓鐞嗗涓紓甯稿彞鏌勩?/span>

聽聽聽聽聽聽 Exception

聽聽聽聽聽聽聽聽聽聽聽聽聽 When no_data_found or invalid_employee_id or dbms_ldap.invalid session

聽聽聽聽聽聽聽聽聽聽聽聽聽 Then /*鈥︹︹?.*/

聽聽聽聽聽聽 End;

聽聽聽聽聽聽 /

鍦ㄨ繖涓緥瀛愰噷錛屾湁鏍囧噯鍖呯殑寮傚父銆佽嚜瀹氫箟寮傚父鍜岄潪鏍囧噯鍖呬腑鐨勫紓甯搞傝繖浜涘紓甯稿彧鑳界敤 or 榪炴帴錛屼笉鍙互鐢?/span> and 錛屽洜涓哄彧鏈変竴涓紓甯歌兘澶熺敓鎴愩?/span>

闈?/span> raise_application_error 鐢熸垚鐨勫紓甯革紝濡傛灉娌℃湁琚鐞嗚屼竴鐩翠紶閫掑埌緋葷粺鐜涓紝閭d箞鐜?yōu)畣瑙嗘儏鍐典綔鍑虹浉搴旂殑鍙嶆槧銆傚湪 sqlplus 涓紝 oracle 灝嗗洖婊氭墍鏈?/span> DML 瀵規(guī)暟鎹墍鍋氱殑淇敼銆傚湪 sqlplus 鐜涓紝鍥犱負(fù)鏈夎嚜鍔ㄥ洖婊氱殑瀛樺湪錛屾垜浠彲浠ヤ繚鐣欏嚭鐜版湭琚鐞嗙殑寮傚父鐨勫彲鑳芥э紱鑰屽湪鍙﹀鐨勪竴浜涚幆澧冧腑錛屽垯闇瑕佷粩緇嗚璁℃渶澶栧眰紼嬪簭銆?/span>

聽聽聽聽聽聽聽聽 鎹曟崏浠諱綍鏈夊彲鑳戒紶鍑虹殑寮傚父銆?/span>

聽聽聽聽聽聽聽聽 璁板綍閿欒浠ヤ究浜庡垎鏋愩?/span>

聽聽聽聽聽聽聽聽 緇欏閮ㄧ幆澧冧竴涓俊鎭紝浠ヤ究浜庡叾浣滃嚭鐩稿簲鐨勫鐞嗐?/span>

瀵逛簬鑷畾涔夊紓甯革紝鍥犱負(fù) sqlcode 鍊兼案榪滄槸 1 錛屾墍浠ュ綋瀹冭浼犲嚭鏃訛紝濡傛灉澶栧洿紼嬪簭涓病鏈夊畾涔夌浉鍚屽悕縐扮殑寮傚父錛屾垜浠皢涓嶇煡閬撴槸浠涔堝紓甯鎬駭鐢熶簡(jiǎn)銆傚洜姝わ紝涓嶈灝嗚嚜瀹氫箟寮傚父浼犻掑嚭鍘匯?/span>

鍦ㄧ▼搴忎腑澶勭悊鍑犱釜浜掔浉鐙珛鐨勬搷浣滄椂錛屼負(fù)浜?jiǎn)閬垮厤鍑虹幇鍥犱皋Z竴涓搷浣滀駭鐢熷紓甯歌屼嬌鏁翠釜紼嬪簭琚腑鏂殑鎯呭喌錛屾湁蹇呰灝嗚繖浜涚嫭绔嬬殑鎿嶄綔鏀懼湪鍚勮嚜鐨勮櫄鎷熷潡涓?/span>

聽聽聽聽聽聽 Procedure change_data is

聽聽聽聽聽聽 Begin

聽聽聽聽聽聽聽聽聽聽聽聽聽 Begin

聽聽聽聽聽聽聽聽聽聽聽聽聽 聽聽聽聽聽聽 Delete from employee where 鈥?.

聽聽聽聽聽聽 聽聽聽聽聽聽 Exception

聽聽聽聽聽聽聽聽聽聽聽聽聽 聽聽聽聽聽聽 When others then null;

聽聽聽聽聽聽聽聽聽聽聽聽聽 End;

聽聽聽聽聽聽聽聽聽聽聽聽聽 Begin

聽聽聽聽聽聽聽聽聽聽聽聽聽 聽聽聽聽聽聽 Update company set 鈥︹?

聽聽聽聽聽聽 聽聽聽聽聽聽 Exception

When others then null;

聽聽聽聽聽聽聽聽聽聽聽聽聽 End;

聽聽聽聽聽聽聽聽聽聽聽聽聽 Begin

聽聽聽聽聽聽聽聽聽聽聽聽聽 聽聽聽聽聽聽 Insert into company_history select * from company where 鈥?

聽聽聽聽聽聽 聽聽聽聽聽聽 Exception

聽聽聽聽聽聽聽聽聽聽聽聽聽 聽聽聽聽聽聽 When others then null;

聽聽聽聽聽聽聽聽聽聽聽聽聽 End;

聽聽聽聽聽聽 End;

聽聽聽聽聽聽 /

Pl/sql 鎻愪緵浜?jiǎn)涓浜涘唴寤虹殑鍑芥暟鏉ュ府鍔╂垜浠‘瀹氥佸垎鏋愬紓甯搞?/span>

SQLCODE

榪欎釜鍑芥暟鍦ㄥ墠闈㈡湁鎻愬埌榪囷紝瀹冩槸涓涓敤浜庤繑鍥炲綋鍓嶆ā鍧椾腑鏈榪戜竴嬈″紓甯稿肩殑鍑芥暟錛屾垨鑰呰鏄潪鍏ユ爤紼嬪簭鐨勫紓甯稿箋傛墦涓瘮鏂癸細(xì)濡傛灉鍦ㄥ綋鍓嶇▼搴忕殑寮傚父妯″潡涓皟鐢ㄤ簡(jiǎn)鍙︿竴涓▼搴忥紝 oracle 灝嗗綋鍓嶇▼搴忓強(qiáng)鐩稿簲鐨勭幆澧冨彉閲忥紙鍖呮嫭寮傚父鍊鹼級(jí)鍘嬪叆緋葷粺鏍堬紱鍦ㄨ璋冪敤紼嬪簭涓敓鎴愪簡(jiǎn)涓涓間負(fù) 1 鐨勫紓甯革紝閭d箞 sqlcode 灝嗚繑鍥?/span> 1 錛涗箣鍚庡垰鎵嶇殑紼嬪簭鍑烘爤錛?/span> sqlcode 榪斿洖褰撳墠寮傚父鍊箋傞渶瑕佹敞鎰忕殑鏄紝涓嶈鍦ㄥ紓甯告ā鍧椾箣澶栦嬌鐢ㄥ畠錛岃繖鏍蜂笉浼?xì)鏈変恢M綍鎰忎箟銆傚綋娌℃湁寮傚父鎴栧湪寮傚父妯″潡涔嬪浣跨敤鏃訛紝 SQLCODE 榪斿洖 0 錛涜繑鍥炲?/span> 1 鏄寚鑷畾涔夊紓甯搞?/span>

SQLERRM

鎺ユ敹寮傚父鍊鹼紝榪斿洖鐩稿簲鐨勯暱搴︿笉瓚呰繃 512 瀛楄妭鐨勬弿榪拌銆傚鏋滄病鏈変紶鍏ュ紓甯稿鹼紝鍒欒繑鍥炲綋鍓嶅紓甯告弿榪般?/span>

聽聽聽聽聽聽 Begin

聽聽聽聽聽聽 聽聽聽聽聽聽 Dbms_output.put_line( sqlerrm(-1403);

聽聽聽聽聽聽 End;

Sql>/

Ora-1403: no data found

鍦ㄩ渶瑕佷綋鏋勯暱搴﹁秴榪?/span> 512 瀛楄妭鐨勬弿榪版椂錛?/span> oracle 寤鴻浣跨敤 dbms_utility.format_error_stack 銆傛樉鐒?dòng)灱岀敤杩欎釜鍑芥暟鏉ュ垽鏂竴涓紓甯告槸鍚︿負(fù)緋葷粺寮傚父鏄緢鏈夌敤鐨勶紝濡傛灉涓嶆槸鐨勮瘽錛屽皢榪斿洖浠ヤ笅涓ょ鎯呭喌鐨勪竴縐嶃?/span>

濡傛灉鏄竴涓礋鏁幫細(xì)

聽聽聽聽聽聽 ora-nnnnn: message not found,; product=rdbms; facility=ora

濡傛灉鏄竴涓鏁幫細(xì)

聽聽聽聽聽聽 -nnnnn: non-oracle exception

DBMS_UTILITY.FORMAT_ERROR_STACK

榪斿洖褰撳墠寮傚父鐩稿簲鐨勬弿榪幫紝娌℃湁瀛楃闀垮害闄愬埗銆備笌 SQLCODE 鐩稿悓鐨勬槸錛屽繀欏誨湪寮傚父澶勭悊妯″潡涓嬌鐢ㄣ傝櫧鐒跺悕縐頒腑鏈変竴涓?/span> stack 鍦紝浣嗛氳繃瀹冨茍涓嶈兘鐭ラ亾寮傚父鐨勬渶鍒濈敓鎴愬錛岄渶瑕佺殑璇濆氨蹇呴』浣跨敤 DBMS_UTILITY.FORMAT_ERROR_BACKTRACE 銆?/span>

DBMS_UTILITY.FORMAT_ERROR_BACKTRACE

緋葷粺涓烘渶榪戜竴嬈$敓鎴愮殑寮傚父璁劇疆浜?jiǎn)涓涓爤錛屽茍璺熻釜瀹冪殑浼犻掕繃紼嬶紝鑰岃繖涓嚱鏁頒嬌鐢ㄨ繖涓爤錛岀劧鍚庤繑鍥炶寮傚父鐨勬暣涓紶閫掕繃紼嬨傝繖涓嚱鏁板閿欒鐨勫畾浣嶅拰瀹炴柦涓嬩竴姝ュ鐞嗚搗鐫鑷沖叧閲嶈鐨勪綔鐢ㄣ?/span>

聽聽聽聽聽聽 Create or replace procedure procl is

聽聽聽聽聽聽 Begin

聽聽聽聽聽聽 聽聽聽聽聽聽 Dbms_output.put_line(鈥榬unning proc1鈥?;

聽聽聽聽聽聽聽聽聽聽聽聽聽 Raise no_data_found;

聽聽聽聽聽聽 End;

聽聽聽聽聽聽 /

聽聽聽聽聽聽 create or replace procedure proc2 is

聽聽聽聽聽聽 begin

聽聽聽聽聽聽 聽聽聽聽聽聽 dbms_output.put_line(鈥榗alling proc1鈥?;

聽聽聽聽聽聽聽聽聽聽聽聽聽 proc1;

聽聽聽聽聽聽 end;

聽聽聽聽聽聽 /

聽聽聽聽聽聽 create or replace procedure proc3 is

聽聽聽聽聽聽 begin

聽聽聽聽聽聽 聽聽聽聽聽聽 dbms_output.put_line(鈥榗alling proc2鈥?;

聽聽聽聽聽聽聽聽聽聽聽聽聽 proc2;

聽聽聽聽聽聽 exception

聽聽聽聽聽聽聽聽聽聽聽聽聽 when no_data_found

聽聽聽聽聽聽聽聽聽聽聽聽聽 then

聽聽聽聽聽聽聽聽聽聽聽聽聽 聽聽聽聽聽聽 dbms_output.put_line(鈥榚rror stack at top level鈥?;

聽聽聽聽聽聽聽聽聽聽聽聽聽 聽聽聽聽聽聽 dbms_output.put_line(dbms_utility.format_error_backtrace);

聽聽聽聽聽聽 end;

聽聽聽聽聽聽 /

鐜板湪鍙互榪愯 proc3 鏉ョ湅鐪嬬粨鏋溿?/span>

Sql>set serveroutput on;

Sql>begin

2聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 dbms_output.put_line(鈥榩roc3->proc2->proc1 backtrace鈥?;

3聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 proc3;

4聽聽聽聽 end;

5聽聽聽聽 /

聽聽聽 Proc3 -> Proc2 -> Proc1 backtrace

聽聽聽 calling proc2

聽聽聽 calling proc1

聽聽聽 running proc1

聽聽聽 Error stack at top level:

聽聽聽 ORA-06512: at "SCOTT.PROC1", line 4

聽聽聽 ORA-06512: at "SCOTT.PROC2", line 5

ORA-06512: at "SCOTT.PROC3", line 4

浜嬪疄涓婏紝姣忔寮傚父鐨勪駭鐢熼兘灝嗛噸緗繖涓紓甯告爤錛屽彧鏄渶鍚庝竴嬈′粠緋葷粺鏍堝嚭鏍堢殑鏄渶澶栧眰鐨勭▼搴忓潡錛屾墍浠ュ彲浠ユ竻妤氬湴鐪嬪埌寮傚父鐢熸垚鐨勬暣涓繃紼嬨備笂闈㈣繖涓▼搴忕殑鎵ц榪囩▼鏄繖鏍風(fēng)殑錛氶鍏堢敤 put_line 鎵撳嵃 Proc3 -> Proc2 -> Proc1 backtrace 錛?/span> 璋冪敤 proc3 錛屽綋鍓嶇▼搴忓叆鏍?/span> => 鎵撳嵃 calling proc2 錛岃皟鐢?/span> proc2 錛?/span> proc3 鍏ユ爤 => 鎵撳嵃 calling proc1 錛岃皟鐢?/span> proc1 錛?/span> proc2 鍏ユ爤 => 鎵撳嵃 running proc1 錛岀敓鎴?/span> no_data_found 寮傚父錛岃寮傚父琚帇鍏ュ紓甯告爤涓?/span> =>proc2 鍑烘爤錛屽茍媯(gè)嫻嬪埌鏉ヨ嚜絎?/span> 5 琛岃皟鐢ㄤ紶閫掕繃鏉ョ殑寮傚父錛屽皢瀹冨湪姝ゅ帇鍏ュ紓甯告爤 => proc3 鍑烘爤錛屽茍媯(gè)嫻嬪埌鏉ヨ嚜絎?/span> 4 琛岃皟鐢ㄤ紶閫掕繃鏉ョ殑寮傚父錛屽皢瀹冨湪姝ゅ帇鍏ュ紓甯告爤錛?/span> dbms_utility.format_error_backtrace 灝嗗紓甯告爤涓俊鎭弽鐩告墦鍗板嚭鏉?/span> => 鏈澶栧眰紼嬪簭鍑烘爤錛?/span> end 銆?/span>

浠ヤ笅鏄紜嬌鐢ㄨ繖涓嚱鏁扮殑涓浜涙敞鎰忎簨欏癸細(xì)

聽聽聽聽聽聽聽聽 鍦ㄥ綋鍓嶇▼搴忕殑寮傚父澶勭悊妯″潡涓皟鐢ㄨ繖涓嚱鏁般?/span>

聽聽聽聽聽聽聽聽 閬垮厤鍦ㄤ腑闂寸▼搴忎腑浣跨敤寮傚父澶勭悊妯″潡銆?/span>

榪欐牱寮傚父灝辮兘琚紜湴浼犺緭鍒版渶澶栧眰紼嬪簭涓紝騫舵墦鍗板嚭榪欎釜榪囩▼浜?jiǎn)銆?/span>



]]>
Oracle:pl/sql 寮傚父澶勭悊 錛?錛?/title><link>http://m.shnenglu.com/ivenher/articles/14132.html</link><dc:creator>鐖遍キ鐩?/dc:creator><author>鐖遍キ鐩?/author><pubDate>Wed, 25 Oct 2006 08:24:00 GMT</pubDate><guid>http://m.shnenglu.com/ivenher/articles/14132.html</guid><wfw:comment>http://m.shnenglu.com/ivenher/comments/14132.html</wfw:comment><comments>http://m.shnenglu.com/ivenher/articles/14132.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/ivenher/comments/commentRss/14132.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/ivenher/services/trackbacks/14132.html</trackback:ping><description><![CDATA[ <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">澶勭悊</span> <span lang="EN-US" twffan="done">oracle</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">緋葷粺鑷姩鐢熸垚緋葷粺寮傚父澶栵紝鍙互浣跨敤</span> <span lang="EN-US" twffan="done">raise</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">鏉ユ墜鍔ㄧ敓鎴愰敊璇?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt"> <span lang="EN-US" style="FONT-FAMILY: Wingdings" twffan="done">l<span style="FONT: 7pt 'Times New Roman'" twffan="done">聽聽聽聽聽聽聽聽 </span></span> <span lang="EN-US" twffan="done">Raise exception;</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt"> <span lang="EN-US" style="FONT-FAMILY: Wingdings" twffan="done">l<span style="FONT: 7pt 'Times New Roman'" twffan="done">聽聽聽聽聽聽聽聽 </span></span> <span lang="EN-US" twffan="done">Raise package.exception;</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt"> <span lang="EN-US" style="FONT-FAMILY: Wingdings" twffan="done">l<span style="FONT: 7pt 'Times New Roman'" twffan="done">聽聽聽聽聽聽聽聽 </span></span> <span lang="EN-US" twffan="done">Raise;</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">浠ヤ笂鏄?/span> <span lang="EN-US" twffan="done">raise</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">鐨勪笁縐嶄嬌鐢ㄦ柟娉曘傜涓縐嶇敤浜庣敓鎴愬綋鍓嶇▼搴忎腑瀹氫箟鐨勫紓甯告垨鍦?/span> <span lang="EN-US" twffan="done">standard</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">涓殑緋葷粺寮傚父銆?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 1" twffan="done">聽聽聽聽聽聽 </span>Declare</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 1" twffan="done">聽聽聽聽聽聽 </span> <span style="mso-tab-count: 1" twffan="done">聽聽聽聽聽聽 </span>Invalid_id exception;</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 1" twffan="done">聽聽聽聽聽聽 </span> <span style="mso-tab-count: 1" twffan="done">聽聽聽聽聽聽 </span>Id_values varchar(2);</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 1" twffan="done">聽聽聽聽聽聽 </span>Begin</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 1" twffan="done">聽聽聽聽聽聽 </span> <span style="mso-tab-count: 1" twffan="done">聽聽聽聽聽聽 </span>Id_value:=id_for(鈥榮mith鈥?;</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 2" twffan="done">聽聽聽聽聽聽聽聽聽聽聽聽聽 </span>If substr(id_value,1,1)!=鈥檟鈥?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 2" twffan="done">聽聽聽聽聽聽聽聽聽聽聽聽聽 </span>Then</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 2" twffan="done">聽聽聽聽聽聽聽聽聽聽聽聽聽 </span> <span style="mso-tab-count: 1" twffan="done">聽聽聽聽聽聽 </span>Raise invalid_id;</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 2" twffan="done">聽聽聽聽聽聽聽聽聽聽聽聽聽 </span>End if;</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 1" twffan="done">聽聽聽聽聽聽 </span>Exception</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 2" twffan="done">聽聽聽聽聽聽聽聽聽聽聽聽聽 </span>When invalid_id</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 2" twffan="done">聽聽聽聽聽聽聽聽聽聽聽聽聽 </span>Then</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 2" twffan="done">聽聽聽聽聽聽聽聽聽聽聽聽聽 </span> <span style="mso-tab-count: 1" twffan="done">聽聽聽聽聽聽 </span>Dbms_output.put_line(鈥榯his is an invalid id!鈥?;</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 1" twffan="done">聽聽聽聽聽聽 </span>End;</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">榪欐槸涓涓敓鎴愯嚜瀹氫箟寮傚父鐨勪緥瀛愶紝褰撶劧涔熷彲浠ョ敓鎴愮郴緇熷紓甯革細(xì)</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 1" twffan="done">聽聽聽聽聽聽 </span>declare </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 1" twffan="done">聽聽聽聽聽聽 </span> <span style="mso-tab-count: 1" twffan="done">聽聽聽聽聽聽 </span>employee_id_in number;</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 1" twffan="done">聽聽聽聽聽聽 </span>Begin</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt"> <span lang="EN-US" twffan="done">Select employee_id into employee_id_in from employ_list where employee_name=&n;</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt"> <span lang="EN-US" twffan="done">If employee_id_in=0</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt"> <span lang="EN-US" twffan="done">Then</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 1" twffan="done">聽聽聽聽聽聽 </span>Raise zero_devided;</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt"> <span lang="EN-US" twffan="done">End if;</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 1" twffan="done">聽聽聽聽聽聽 </span>Exception</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 2" twffan="done">聽聽聽聽聽聽聽聽聽聽聽聽聽 </span>When zero_devided</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 2" twffan="done">聽聽聽聽聽聽聽聽聽聽聽聽聽 </span>Then</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 2" twffan="done">聽聽聽聽聽聽聽聽聽聽聽聽聽 </span> <span style="mso-tab-count: 1" twffan="done">聽聽聽聽聽聽 </span>Dbms_output.put_line(鈥榳rong!鈥?;</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 1" twffan="done">聽聽聽聽聽聽 </span>End;</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">鏈変竴浜涘紓甯告槸瀹氫箟鍦ㄩ潪鏍囧噯鍖呬腑鐨勶紝濡?/span> <span lang="EN-US" twffan="done">UTL_FILE</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">錛?/span> <span lang="EN-US" twffan="done">DBMS_SQL</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">浠ュ強(qiáng)紼嬪簭鍛樺垱寤虹殑鍖呬腑寮傚父銆傚彲浠ヤ嬌鐢?/span> <span lang="EN-US" twffan="done">raise</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">鐨勭浜岀鐢ㄦ硶鏉ョ敓鎴愬紓甯搞?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 1" twffan="done">聽聽聽聽聽聽 </span>If day_overdue(isbn_in, browser_in) > 365</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 1" twffan="done">聽聽聽聽聽聽 </span>Then</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 2" twffan="done">聽聽聽聽聽聽聽聽聽聽聽聽聽 </span>Raise overdue_pkg.book_is_lost</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 1" twffan="done">聽聽聽聽聽聽 </span>End if;</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">鍦ㄦ渶鍚庝竴縐?/span> <span lang="EN-US" twffan="done">raise</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">鐨勫艦寮忎腑錛屼笉甯︿換浣曞弬鏁般傝繖縐嶆儏鍐靛彧鍑虹幇鍦ㄥ笇鏈涘皢褰撳墠鐨勫紓甯鎬紶鍒板閮ㄧ▼搴忔椂銆?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 1" twffan="done">聽聽聽聽聽聽 </span>Exception</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 2" twffan="done">聽聽聽聽聽聽聽聽聽聽聽聽聽 </span>When no_data_found</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 2" twffan="done">聽聽聽聽聽聽聽聽聽聽聽聽聽 </span>Then</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 2" twffan="done">聽聽聽聽聽聽聽聽聽聽聽聽聽 </span> <span style="mso-tab-count: 1" twffan="done">聽聽聽聽聽聽 </span>Raise;</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 1" twffan="done">聽聽聽聽聽聽 </span>End;</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done">聽<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?><o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done">Pl.sql</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">浣跨敤</span> <span lang="EN-US" twffan="done">raise_application_error</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">榪囩▼鏉ョ敓鎴愪竴涓湁鍏蜂綋鎻忚堪鐨勫紓甯搞傚綋浣跨敤榪欎釜榪囩▼鏃訛紝褰撳墠紼嬪簭琚腑姝紝杈撳叆杈撳嚭鍙傛暟琚疆涓哄師鍏堢殑鍊鹼紝浣嗕換浣?/span> <span lang="EN-US" twffan="done">DML</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">瀵規(guī)暟鎹簱鎵鍋氱殑鏀瑰姩灝嗚淇濈暀錛屽彲浠ュ湪涔嬪悗鐢?/span> <span lang="EN-US" twffan="done">rollback</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">鍛戒護(hù)鍥炴粴銆備笅闈㈡槸璇ヨ繃紼嬬殑鍘熷瀷錛?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 1" twffan="done">聽聽聽聽聽聽 </span>Procedure raise_application_error(</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 1" twffan="done">聽聽聽聽聽聽 </span>Num binary_integer;</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 1" twffan="done">聽聽聽聽聽聽 </span>Msg varchar2;</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-tab-count: 1" twffan="done">聽聽聽聽聽聽 </span>Keeperrorstack Boolean default false</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"> <span lang="EN-US" twffan="done">)</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">鍏朵腑</span> <span lang="EN-US" twffan="done">num</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">鏄湪</span> <span lang="EN-US" twffan="done">-20999</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">鍒?/span> <span lang="EN-US" twffan="done">-20000</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">涔嬮棿鐨勪換浣曟暟瀛楋紙浣嗕簨瀹炰笂錛?/span> <span lang="EN-US" twffan="done">DBMS_OUPUT</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">鍜?/span> <span lang="EN-US" twffan="done">DBMS_DESCRIBLE</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">鍖呬嬌鐢ㄤ簡(jiǎn)</span> <span lang="EN-US" twffan="done">-20005</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">鍒?/span> <span lang="EN-US" twffan="done">-20000</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">鐨勬暟瀛楋級(jí)錛?/span> <span lang="EN-US" twffan="done">msg</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">鏄皬浜?/span> <span lang="EN-US" twffan="done">2K</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">涓瓧絎︾殑鎻忚堪璇紝浠諱綍澶т簬</span> <span lang="EN-US" twffan="done">2K</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">鐨勫瓧絎﹂兘灝嗚鑷姩涓㈠純錛?/span> <span lang="EN-US" twffan="done">keeperrorstack</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">榛樿涓?/span> <span lang="EN-US" twffan="done">false</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">錛屾槸鎸囨竻絀哄紓甯告爤錛屽啀灝嗗綋鍓嶅紓甯稿叆鏍堬紝濡傛灉鎸囧畾</span> <span lang="EN-US" twffan="done">true</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" twffan="done">鐨勮瘽灝辯洿鎺ュ皢褰撳墠寮傚父鍘嬪叆鏍堜腑銆?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-spacerun: yes" twffan="done">聽聽聽 </span>CREATE OR REPLACE PROCEDURE raise_by_language (code_in IN PLS_INTEGER)</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-spacerun: yes" twffan="done">聽聽聽 </span>IS</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-spacerun: yes" twffan="done">聽聽聽聽聽聽 </span>l_message error_table.error_string%TYPE;</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-spacerun: yes" twffan="done">聽聽聽 </span>BEGIN</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-spacerun: yes" twffan="done">聽聽聽聽聽聽 </span>SELECT error_string</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-spacerun: yes" twffan="done">聽聽聽聽聽聽聽聽 </span>INTO l_message</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-spacerun: yes" twffan="done">聽聽聽聽聽聽聽聽 </span>FROM error_table, v$nls_parameters v</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-spacerun: yes" twffan="done">聽聽聽聽聽聽聽 </span>WHERE error_number = code_in</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-spacerun: yes" twffan="done">聽聽聽聽聽聽聽聽聽 </span>AND string_language<span style="mso-spacerun: yes" twffan="done">聽 </span>= v.VALUE</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-spacerun: yes" twffan="done">聽聽聽聽聽聽聽聽聽 </span>AND v.parameter = 'NLS_LANGUAGE';</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done">聽<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-spacerun: yes" twffan="done">聽聽聽聽聽聽 </span>RAISE_APPLICATION_ERROR (code_in, l_message);</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" twffan="done"> <span style="mso-spacerun: yes" twffan="done">聽聽聽 </span>END;</span> </p> <img src ="http://m.shnenglu.com/ivenher/aggbug/14132.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/ivenher/" target="_blank">鐖遍キ鐩?/a> 2006-10-25 16:24 <a href="http://m.shnenglu.com/ivenher/articles/14132.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Oracle:pl/sql 寮傚父澶勭悊錛?2 錛?http://m.shnenglu.com/ivenher/articles/14131.html鐖遍キ鐩?/dc:creator>鐖遍キ鐩?/author>Wed, 25 Oct 2006 08:23:00 GMThttp://m.shnenglu.com/ivenher/articles/14131.htmlhttp://m.shnenglu.com/ivenher/comments/14131.htmlhttp://m.shnenglu.com/ivenher/articles/14131.html#Feedback0http://m.shnenglu.com/ivenher/comments/commentRss/14131.htmlhttp://m.shnenglu.com/ivenher/services/trackbacks/14131.html pl/sql 鎻愪緵浜?jiǎn)寮哄ぇ鑰岀伒媧葷殑鎵嬫鏉ユ崟鎹夊拰澶勭悊紼嬪簭浜х敓鐨勫紓甯革紝浠庤屼嬌 oracle 鐨勭敤鎴瘋繙紱諱竴浜涗護(hù)浜虹儲(chǔ)鎭肩殑 bug 銆?/span>

寮傚父瀹氫箟

鍦ㄤ竴涓紓甯鎬駭鐢熴佽鎹曡幏騫跺鐞嗕箣鍓嶏紝瀹冨繀欏昏瀹氫箟銆?/span> Oracle 瀹氫箟浜?jiǎn)鍑犲崈涓紓甯稿Q岀粷澶у鏁板彧鏈夐敊璇紪鍙峰拰鐩稿叧鎻忚堪錛屼粎浠呭懡鍚嶄簡(jiǎn)鑻ュ共涓渶甯歌鐢ㄥ埌鐨勫紓甯搞傝繖浜涘悕瀛楄鍌ㄥ瓨鍦?/span> STANDARD 錛?/span> UTL_FILE 錛?/span> DBMS_SQL 榪欏嚑涓郴緇熷寘涓紝璇︽儏璇瘋 oracle:pl/sql 寮傚父澶勭悊錛?/span> 1 錛夈?/span>

鍑?guó)檱箣澶栫殑缁濆ぇ澶氭暟寮傚笖R渶瑕佺▼搴忓憳鍛藉悕銆傛湁 2 縐嶅懡鍚嶅紓甯哥殑鏂規(guī)硶錛?/span>

1 錛氬0鏄庝竴涓嚜瀹氫箟寮傚父

鍦?/span> STANDARD 涓殑鍛藉悕浜?jiǎn)鐨勫紓甯稿熀鏈北鏄笌绯痪l熺殑閿欒鐩稿叧鐨勶紙褰撶劧閭d簺鍙湁 errorcode 鐨勫紓甯鎬篃鏄繖鏍鳳級(jí)錛屼絾鍦ㄥ疄闄呯殑搴旂敤涓垜浠粡甯擱渶瑕佷笌鐗瑰畾鐨勫簲鐢ㄧ▼搴忕浉鍏崇殑寮傚父錛岀敱紼嬪簭鍛樺0鏄庣殑寮傚父灝辨槸鐢ㄤ簬澶勭悊榪欑鎯呭喌鐨勩?/span>

Oracle 寮傚父澶勭悊妯″潡鐨勬柟渚跨殑鍦版柟鍦ㄤ簬錛屽畠騫舵病鏈夊尯鍒寰呰嚜瀹氫箟鐨勪笌棰勫畾涔夌殑寮傚父銆傝繖浣垮緱鎴戜滑鍙互鍍忓寰呴瀹氫箟寮傚父涓鏍鳳紝鎹曟崏鍜屽鐞嗚嚜瀹氫箟寮傚父錛屽彧鏄湪姝や箣鍓嶉渶瑕佸0鏄庡畠錛涘悓鏃跺浜庝竴涓嚜瀹氫箟鐨勫紓甯革紝鎴戜滑闇瑕佺敤 RAISE 鏉ユ墜鍔ㄤ駭鐢熴?/span>

涓嬮潰鏄竴涓0鏄庣殑渚嬪瓙錛?/span>

聽聽聽聽聽聽 procedure calc_ammul_sales

聽聽聽聽聽聽 聽聽聽聽聽聽 (company_id_in in company.company_id%tye)

聽聽聽聽聽聽 is

聽聽聽聽聽聽 聽聽聽聽聽聽 invalid_company_id exception;

聽聽聽聽聽聽 聽聽聽聽聽聽 negative_balance excrption;

聽聽聽聽聽聽 聽聽聽聽聽聽 duplicate_company Boolean;

聽聽聽聽聽聽 begin

聽聽聽聽聽聽聽聽聽聽聽聽聽 /*body of executable statement*/

聽聽聽聽聽聽 exception

聽聽聽聽聽聽聽聽聽聽聽聽聽 when invalid_company_id

聽聽聽聽聽聽聽聽聽聽聽聽聽 then /*handle exception*/

聽聽聽聽聽聽聽聽聽聽聽聽聽 when no_data_found

聽聽聽聽聽聽聽聽聽聽聽聽聽 then /*handle exception*/

聽聽聽聽聽聽 聽聽聽聽聽聽 /*鈥?.*/

聽聽聽聽聽聽 end;

闇瑕佹敞鎰忕殑鏄鐞嗗畾涔夌殑鏃跺欙紝鍙湁涓や釜鍦版柟浼?xì)鍑虹幇鑷畾涔夌殑寮傚父锛?xì)

聽聽聽聽聽聽聽聽 raise exception 錛?/span>

聽聽聽聽聽聽聽聽 when exception then

2 錛氫負(fù)闈為瀹氫箟寮傚父鍏寵仈涓涓悕瀛?/span>

浠呬粎 21 涓瀹氫箟寮傚父瀵規(guī)垜浠潵璇村疄鍦ㄦ槸澶皯浜?jiǎn)锛寴q樻湁鍑犲崈涓紓甯稿彧鏈?/span> errorcode 鍜屾弿榪般傚彟澶栵紝紼嬪簭鍛樹篃鍙互鐢?/span> RAISE_APPLICATION_ERROR 瀹氫箟涓涓惈 errorcode 鍜屾弿榪扮殑寮傚父銆?/span>

褰撶劧錛屽彧鐢?/span> errorcode 涔熷彲浠ュ緢濂藉湴瀹屾垚宸ヤ綔錛屽彧瑕佷綘涓嶆媴蹇?jī)浼?xì)蹇樹簡(jiǎn)閭d覆鏁板瓧浠h〃鐨勬剰鎬濆氨琛屻傛瘮鏂硅 ;

聽聽聽聽聽聽 exception

聽聽聽聽聽聽聽聽聽聽聽聽聽 when others

聽聽聽聽聽聽聽聽聽聽聽聽聽 then

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if sqlcode=-1843 then/*sqlcode 鏄唴寤虹殑鐢ㄤ簬榪斿洖鏈榪戜竴嬈¢敊璇紪鍙風(fēng)殑鍑芥暟 */

聽聽聽聽聽聽聽聽聽聽聽聽聽 聽聽聽聽聽聽 鈥?.

榪欑殑紜槸涓孌佃浜烘劅鍒版櫐娑╃殑浠g爜錛岃繕鏄粰瀹冨叧鑱斾釜鍚嶅瓧鍚с?/span>

鎴戜滑瑕佺敤鍒扮殑鏄?/span> pragma exception_init(exception,integer) 錛岀劧鍚庡氨鍙互鍍忓寰呴瀹氫箟寮傚父涓鏍峰寰呭畠浜?jiǎn)锛屾垜鏄娌″繀瑕佸儚涓婇潰鐨勯偅绉嶄竴鏍風(fēng)敤 raise 銆?/span> Exception_init 鏄竴涓紪璇戞椂榪愯鐨勫嚱鏁幫紝瀹冨彧鑳藉嚭鐜板湪浠g爜鐨勫0鏄庨儴鍒嗭紝鑰屽紓甯稿悕瀛楀繀欏誨湪姝や箣鍓嶈瀹氫箟銆備笅闈㈢敤涓涓尶鍚嶈繃紼嬩婦涓緥瀛愶細(xì)

聽聽聽聽聽聽 declare

聽聽聽聽聽聽 聽聽聽聽聽聽 invalid_company_id exception;

聽聽聽聽聽聽 聽聽聽聽聽聽 pragma exception_init(invalid_company_id, -1834);

瑕佹敞鎰忕殑鏃訛細(xì)

聽聽聽聽聽聽聽聽 涓嶅彲浠ョ敤 -1403 錛?/span> no_data_found 錛夛紝鐢?/span> 100 錛屼簨瀹炰笂 exception_init 涓殑 integer 瀵瑰簲鐨勬槸 sqlcode 榪斿洖鐨勫箋?/span>

聽聽聽聽聽聽聽聽 涓嶈兘涓?/span> 0 錛屼笉鑳藉ぇ浜?/span> 100 錛屼笉鑳藉皬浜?/span> -1000000

涓涓緥瀛愶細(xì)

聽聽聽聽聽聽 procedure delete_company(company_id_in in number)

聽聽聽聽聽聽 is

聽聽聽聽聽聽 聽聽聽聽聽聽 still_have_emplyee exception;

聽聽聽聽聽聽 聽聽聽聽聽聽 pragma exception(still_have_employee, -2293);

聽聽聽聽聽聽 begin

聽聽聽聽聽聽聽聽聽聽聽聽聽 delete from compamy

聽聽聽聽聽聽聽聽聽聽聽聽聽 where company_id=company_id_in;

聽聽聽聽聽聽 exception

聽聽聽聽聽聽聽聽聽聽聽聽聽 when still_have_employee

聽聽聽聽聽聽聽聽聽聽聽聽聽 then dbms_output.put_line(鈥榙elete employees for company first鈥?;

聽聽聽聽聽聽 end;

鍦ㄤ竴涓嬩袱縐嶆儏鍐典笅錛屾垜浠湁蹇呰浣跨敤 exception_init 錛?/span>

聽聽聽聽聽聽聽聽 涓涓潪棰勫畾涔夊紓甯告槸緇忓父瑕佽鐢ㄥ埌鐨勩?/span>

聽聽聽聽聽聽聽聽 鎴戜滑灝嗙敤 raise_applocation_error 浜х敓浜?jiǎn)涓涓嚜瀹氫箟鐨?/span> errorcode 鏃躲?/span>

涓縐嶇畝渚跨殑鏂規(guī)硶鏄皢浠ヤ笂涓ょ鎯呭喌涓殑寮傚父瀹氫箟鍦ㄤ竴涓寘涓紝榪欐牱鎴戜滑灝辨病鏈夊繀瑕佹瘡嬈¢兘閲嶅瀹氫箟浜?jiǎn)銆?/span>

聽聽聽聽聽聽 Create or replace package dynsql

聽聽聽聽聽聽 Is

聽聽聽聽聽聽 聽聽聽聽聽聽 Invalid_table_name exception;

聽聽聽聽聽聽 聽聽聽聽聽聽 Pragma exception_init(invalid_table_name, -903);

聽聽聽聽聽聽 聽聽聽聽聽聽 Invalid_column_name exception;

聽聽聽聽聽聽 聽聽聽聽聽聽 Pragma exception_init(invalid_column_name, -904);

聽聽聽聽聽聽 聽聽聽聽聽聽 En_too_young const number:=-200001;

聽聽聽聽聽聽 聽聽聽聽聽聽 Exc_too_young exception;

聽聽聽聽聽聽 聽聽聽聽聽聽 Pragma exception_init(exc_too_young, -20001);

聽聽聽聽聽聽 End;

鏈変簡(jiǎn)涓婇潰榪欎釜鍖咃紝灝卞彲浠ユ柟渚跨殑澶勭悊寮傚父浜?/span> ;

聽聽聽聽聽聽 procedure validate_emp(birthdate in date)

聽聽聽聽聽聽 is

聽聽聽聽聽聽 聽聽聽聽聽聽 min_tear const pls_integer:=18;

聽聽聽聽聽聽 begin

聽聽聽聽聽聽聽聽聽聽聽聽聽 if add_month(sysdate,min_year*12*-1)<birthdate_in

聽聽聽聽聽聽聽聽聽聽聽聽聽 then

raise_application_error(dynsql.en_too_young, 鈥榚mployee must be鈥?|| min_year ||鈥榦ld鈥?;

聽聽聽聽聽聽聽聽聽聽聽聽聽 end if;

聽聽聽聽聽聽 end;

闄や簡(jiǎn) standard 鍖呬腑鐨?/span> 21 涓瀹氫箟寮傚父澶栵紝榪樻湁涓浜涘寘涔熷畾涔変簡(jiǎn)涓浜涘紓甯搞備絾涓?/span> standard 鍖呬腑寮傚父涓嶅悓鐨勬槸錛屽湪浣跨敤榪欎簺寮傚父鏃訛紝闇瑕佸甫涓婂寘鐨勫悕瀛椼傚錛?/span>

聽聽聽聽聽聽 when dbms_lob.invalid_argval then 鈥︹?/span>

闈炲父鏈夌敤鐨勪竴鐐規(guī)槸錛屽彲浠ュ湪鏈澶栧眰鐨?/span> pl/sql 鍧楃殑寮傚父澶勭悊妯″潡涓姞鍏?/span> others 錛岃繖鏍峰氨鍙互鎶婁粠鍐呴儴浼犻掑嚭鏉ョ殑鏈澶勭悊鐨勫墿浣欏紓甯稿叏閮ㄥ鐞嗘帀浜?jiǎn)銆?/span>

聽聽聽聽聽聽 Exception

聽聽聽聽聽聽 When others

聽聽聽聽聽聽 聽聽聽聽聽聽 Then 鈥?



]]>
Oracle:pl/sql 寮傚父澶勭悊錛?1 錛?/title><link>http://m.shnenglu.com/ivenher/articles/14130.html</link><dc:creator>鐖遍キ鐩?/dc:creator><author>鐖遍キ鐩?/author><pubDate>Wed, 25 Oct 2006 08:17:00 GMT</pubDate><guid>http://m.shnenglu.com/ivenher/articles/14130.html</guid><wfw:comment>http://m.shnenglu.com/ivenher/comments/14130.html</wfw:comment><comments>http://m.shnenglu.com/ivenher/articles/14130.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/ivenher/comments/commentRss/14130.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/ivenher/services/trackbacks/14130.html</trackback:ping><description><![CDATA[     鎽樿: pl/sql 鎻愪緵浜?jiǎn)寮哄ぇ鑰岀伒媧葷殑鎵嬫鏉ユ崟鎹夊拰澶勭悊紼嬪簭浜х敓鐨勫紓甯革紝浠庤屼嬌 oracle 鐨勭敤鎴瘋繙紱諱竴浜涗護(hù)浜虹儲(chǔ)鎭肩殑 bug 銆? 聽 pl/sql 寮傚父澶勭悊鐨勬蹇靛拰鏈 ...  <a href='http://m.shnenglu.com/ivenher/articles/14130.html'>闃呰鍏ㄦ枃</a><img src ="http://m.shnenglu.com/ivenher/aggbug/14130.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/ivenher/" target="_blank">鐖遍キ鐩?/a> 2006-10-25 16:17 <a href="http://m.shnenglu.com/ivenher/articles/14130.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>ORACLE涔嬪父鐢‵AQ V1.0 (4) 絎洓閮ㄥ垎銆佹ц兘璋冩暣http://m.shnenglu.com/ivenher/articles/13153.html鐖遍キ鐩?/dc:creator>鐖遍キ鐩?/author>Fri, 29 Sep 2006 09:26:00 GMThttp://m.shnenglu.com/ivenher/articles/13153.htmlhttp://m.shnenglu.com/ivenher/comments/13153.htmlhttp://m.shnenglu.com/ivenher/articles/13153.html#Feedback0http://m.shnenglu.com/ivenher/comments/commentRss/13153.htmlhttp://m.shnenglu.com/ivenher/services/trackbacks/13153.html 絎洓閮ㄥ垎銆佹ц兘璋冩暣
[Q]濡傛灉璁劇疆鑷姩璺熻釜
[A]鐢╯ystem鐧誨綍
鎵ц$ORACLE_HOME/rdbms/admin/utlxplan.sql鍒涘緩璁″垝琛?br />鎵ц$ORACLE_HOME/sqlplus/admin/plustrce.sql鍒涘緩plustrace瑙掕壊
濡傛灉鎯寵鍒掕〃璁╂瘡涓敤鎴烽兘鑳戒嬌鐢紝鍒?br />SQL>create public synonym plan_table for plan_table;
SQL> grant all on plan_table to public;
濡傛灉鎯寵鑷姩璺熻釜鐨勮鑹茶姣忎釜鐢ㄦ埛閮借兘浣跨敤錛屽垯
SQL> grant plustrace to public;
閫氳繃濡備笅璇彞寮鍚?鍋滄璺熻釜
SET AUTOTRACE ON |OFF
| ON EXPLAIN | ON STATISTICS | TRACEONLY | TRACEONLY EXPLAIN
[Q]濡傛灉璺熻釜鑷繁鐨勪細(xì)璇濇垨鑰呮槸鍒漢鐨勪細(xì)璇?/font>
[A]璺熻釜鑷繁鐨勪細(xì)璇濆緢綆鍗?br />Alter session set sql_trace true|false
Or
Exec dbms_session.set_sql_trace(TRUE);
濡傛灉璺熻釜鍒漢鐨勪細(xì)璇濓紝闇瑕佽皟鐢ㄤ竴涓寘
exec dbms_system.set_sql_trace_in_session(sid,serial#,true|false)
璺熻釜鐨勪俊鎭湪user_dump_dest 鐩綍涓嬪彲浠ユ壘鍒版垨閫氳繃濡備笅鑴氭湰鑾峰緱鏂囦歡鍚嶇О錛堥傜敤浜嶹in鐜錛屽鏋滄槸unix闇瑕佸仛涓瀹氫慨鏀癸級(jí)
SELECT p1.value||'\'||p2.value||'_ora_'||p.spid||'.ora' filename
FROM
v$process p,
v$session s,
v$parameter p1,
v$parameter p2
WHERE p1.name = 'user_dump_dest'
AND p2.name = 'db_name'
AND p.addr = s.paddr
AND s.audsid = USERENV ('SESSIONID')
鏈鍚庯紝鍙互閫氳繃Tkprof鏉ヨВ鏋愯窡韙枃浠訛紝濡?br />Tkprof 鍘熸枃浠?鐩爣鏂囦歡 sys=n
[Q]鎬庝箞璁劇疆鏁翠釜鏁版嵁搴撶郴緇熻窡韙?/font>
[A]鍏跺疄鏂囨。涓婄殑alter system set sql_trace=true鏄笉鎴愬姛鐨?br />浣嗘槸鍙互閫氳繃璁劇疆浜嬩歡鏉ュ畬鎴愯繖涓伐浣滐紝浣滅敤鐩哥瓑
alter system set events
'10046 trace name context forever,level 1';
濡傛灉鍏抽棴璺熻釜錛屽彲浠ョ敤濡備笅璇彞
alter system set events
'10046 trace name context off';
鍏朵腑鐨刲evel 1涓庝笂闈㈢殑8閮芥槸璺熻釜綰у埆
level 1錛氳窡韙猄QL璇彞錛岀瓑浜巗ql_trace=true
level 4錛氬寘鎷彉閲忕殑璇︾粏淇℃伅
level 8錛氬寘鎷瓑寰呬簨浠?br />level 12錛氬寘鎷粦瀹氬彉閲忎笌絳夊緟浜嬩歡
[Q]鎬庝箞鏍鋒牴鎹甇S榪涚▼蹇熻幏寰桪B榪涚▼淇℃伅涓庢鍦ㄦ墽琛岀殑璇彞
[A]鏈変簺鏃跺欙紝鎴戜滑鍦∣S涓婃搷浣滐紝璞OP涔嬪悗鎴戜滑寰楀埌鐨凮S榪涚▼錛屾庝箞蹇熸牴鎹甇S淇℃伅鑾峰緱DB淇℃伅鍛紵
鎴戜滑鍙互緙栧啓濡備笅鑴氭湰錛?br />$more whoit.sh
#!/bin/sh
sqlplus /nolog 100,cascade=> TRUE);
dbms_stats.gather_table_stats(User,TableName,degree => 4,cascade => true);
榪欐槸瀵瑰懡浠や笌宸ュ叿鍖呯殑涓浜涙葷粨
1銆佸浜庡垎鍖鴻〃錛屽緩璁嬌鐢―BMS_STATS錛岃屼笉鏄嬌鐢ˋnalyze璇彞銆?
a) 鍙互騫惰榪涜錛屽澶氫釜鐢ㄦ埛錛屽涓猅able
b) 鍙互寰楀埌鏁翠釜鍒嗗尯琛ㄧ殑鏁版嵁鍜屽崟涓垎鍖虹殑鏁版嵁銆?
c) 鍙互鍦ㄤ笉鍚岀駭鍒笂Compute Statistics錛氬崟涓垎鍖猴紝瀛愬垎鍖猴紝鍏ㄨ〃錛屾墍鏈夊垎鍖?
d) 鍙互鍊掑嚭緇熻淇℃伅
e) 鍙互鐢ㄦ埛鑷姩鏀墮泦緇熻淇℃伅
2銆丏BMS_STATS鐨勭己鐐?
a) 涓嶈兘Validate Structure
b) 涓嶈兘鏀墮泦CHAINED ROWS, 涓嶈兘鏀墮泦CLUSTER TABLE鐨勪俊鎭紝榪欎袱涓粛鏃ч渶瑕佷嬌鐢ˋnalyze璇彞銆?
c) DBMS_STATS 榛樿涓嶅绱㈠紩榪涜Analyze錛屽洜涓洪粯璁ascade鏄疐alse錛岄渶瑕佹墜宸ユ寚瀹氫負(fù)True
3銆佸浜巓racle 9閲岄潰鐨凟xternal Table錛孉nalyze涓嶈兘浣跨敤錛屽彧鑳戒嬌鐢―BMS_STATS鏉ユ敹闆嗕俊鎭?br />[Q]鎬庝箞鏍峰揩閫熼噸鏁寸儲(chǔ)寮?/font>
[A]閫氳繃rebuild璇彞錛屽彲浠ュ揩閫熼噸鏁存垨縐誨姩绱㈠紩鍒板埆鐨勮〃絀洪棿
rebuild鏈夐噸寤烘暣涓儲(chǔ)寮曟暟鐨勫姛鑳斤紝鍙互鍦ㄤ笉鍒犻櫎鍘熷绱㈠紩鐨勬儏鍐典笅鏀瑰彉绱㈠紩鐨勫瓨鍌ㄥ弬鏁?br />璇硶涓?br />alter index index_name rebuild tablespace ts_name
storage(鈥︹?;
濡傛灉瑕佸揩閫熼噸寤烘暣涓敤鎴蜂笅鐨勭儲(chǔ)寮曪紝鍙互鐢ㄥ涓嬭剼鏈紝褰撶劧錛岄渶瑕佹牴鎹綘鑷繁鐨勬儏鍐靛仛鐩稿簲淇敼
SQL> set heading off
SQL> set feedback off
SQL> spool d:\index.sql
SQL> SELECT 'alter index ' || index_name || ' rebuild '
||'tablespace INDEXES storage(initial 256K next 256K pctincrease 0);'
FROM all_indexes
WHERE ( tablespace_name != 'INDEXES'
OR next_extent != ( 256 * 1024 )
)
AND owner = USER
SQL>spool off
鍙﹀涓涓悎騫剁儲(chǔ)寮曠殑璇彞鏄?br />alter index index_name coalesce錛岃繖涓鍙ヤ粎浠呮槸鍚堝茍绱㈠紩涓悓涓綰х殑leaf block
娑堣椾笉澶э紝瀵逛簬鏈変簺绱㈠紩涓瓨鍦ㄥぇ閲忕┖闂存氮璐圭殑鎯呭喌涓嬶紝鏈変竴浜涗綔鐢ㄣ?br />[Q]濡備綍浣跨敤Hint鎻愮ず
[A] 鍦╯elect/delete/update鍚庡啓/*+ hint */
濡?select /*+ index(TABLE_NAME INDEX_NAME) */ col1...
娉ㄦ剰/*鍜?涔嬮棿涓嶈兘鏈夌┖鏍?br />濡傜敤hint鎸囧畾浣跨敤鏌愪釜绱㈠紩
select /*+ index(cbotab) */ col1 from cbotab;
select /*+ index(cbotab cbotab1) */ col1 from cbotab;
select /*+ index(a cbotab1) */ col1 from cbotab a;
鍏朵腑
TABLE_NAME鏄繀欏昏鍐欑殑錛屼笖濡傛灉鍦ㄦ煡璇腑浣跨敤浜?jiǎn)琛ㄧ殑鍒悕锛屽湪hint涔熻鐢ㄨ〃鐨勫埆鍚嶆潵浠f浛琛ㄥ悕;
INDEX_NAME鍙互涓嶅繀鍐欙紝Oracle浼?xì)鏍规嵁缁熻鍊奸変竴涓儲(chǔ)寮?
濡傛灉绱㈠紩鍚嶆垨琛ㄥ悕鍐欓敊浜?jiǎn)锛岄偅杩欎釜hint灝變細(xì)琚拷鐣?
[Q]鎬庝箞鏍峰揩閫熷鍒惰〃鎴栬呮槸鎻掑叆鏁版嵁
[A]蹇熷鍒惰〃鍙互鎸囧畾Nologging閫夐」
濡傦細(xì)Create table t1 nologging
as select * from t2;
蹇熸彃鍏ユ暟鎹彲浠ユ寚瀹歛ppend鎻愮ず錛屼絾鏄渶瑕佹敞鎰?br />noarchivelog妯″紡涓嬶紝榛樿鐢ㄤ簡(jiǎn)append灝辨槸nologging妯″紡鐨勩?
鍦╝rchivelog涓嬶紝闇瑕佹妸琛ㄨ緗▼Nologging妯″紡銆?br />濡俰nsert /*+ append */ into t1
select * from t2
娉ㄦ剰錛氬鏋滃湪9i鐜涓茍璁劇疆浜?jiǎn)FORCE LOGGING錛屽垯浠ヤ笂鎿嶄綔鏄棤鏁堢殑錛屽茍涓嶄細(xì)鍔犲揩錛屽綋鐒?dòng)灱屽彲浠ラ氳繃濡備笅璇彞璁劇疆涓篘O FORCE LOGGING銆?br />Alter database no force logging;
鏄惁寮鍚簡(jiǎn)FORCE LOGGING錛屽彲浠ョ敤濡備笅璇彞鏌ョ湅
SQL> select force_logging from v$database;
[Q]鎬庝箞閬垮厤浣跨敤鐗瑰畾绱㈠紩
[A]鍦ㄥ緢澶氭椂鍊欙紝Oracle浼?xì)閿欒鐨勪娇鐢ㄧ储寮曡屽鑷存晥鐜囩殑鏄庢樉涓嬮檷錛屾垜浠彲浠ヤ嬌鐢ㄤ竴鐐圭偣鎶宸ц岄伩鍏嶄嬌鐢ㄤ笉璇ヤ嬌鐢ㄧ殑绱㈠紩錛屽錛?br />琛╰est,鏈夊瓧孌礱,b,c,d錛屽湪a,b,c涓婂緩绔嬭仈鍚堢儲(chǔ)寮昳nx_a(a,b,c)錛屽湪b涓婂崟鐙緩绔嬩簡(jiǎn)涓涓儲(chǔ)寮旾nx_b(b)銆?br />鍦ㄦ甯告儏鍐典笅錛寃here a=? and b=? and c=?浼?xì)鐢ㄥ埌鐑?chǔ)寮昳nx_a錛?br />where b=?浼?xì)鐢ㄥ埌鐑?chǔ)寮昳nx_b
浣嗘槸錛寃here a=? and b=? and c=? group by b浼?xì)鐢ㄥ埌鍝釜鐑?chǔ)寮曞憿錛熷湪鍒嗘瀽鏁版嵁涓嶆紜紙寰堥暱鏃墮棿娌℃湁鍒嗘瀽錛夋垨鏍規(guī)湰娌℃湁鍒嗘瀽鏁版嵁鐨勬儏鍐典笅錛宱racle寰寰浼?xì)鋴社敤鐑?chǔ)寮昳nx_b銆傞氳繃鎵ц璁″垝鐨勫垎鏋愶紝榪欎釜绱㈠紩鐨勪嬌鐢紝灝嗗ぇ澶ц楄垂鏌ヨ鏃墮棿銆?br />褰撶劧錛屾垜浠彲浠ラ氳繃濡備笅鐨勬妧宸ч伩鍏嶄嬌鐢╥nx_b錛岃屼嬌鐢╥nx_a銆?br />where a=? and b=? and c=? group by b||'' --濡傛灉b鏄瓧絎?br />where a=? and b=? and c=? group by b+0 --濡傛灉b鏄暟瀛?br />閫氳繃榪欐牱綆鍗曠殑鏀瑰彉錛屽線寰鍙互鏄煡璇㈡椂闂存彁浜ゅ緢澶氬?br />褰撶劧錛屾垜浠篃鍙互浣跨敤no_index鎻愮ず錛岀浉淇″緢澶氫漢娌℃湁鐢ㄨ繃錛屼篃鏄竴涓笉閿欑殑鏂規(guī)硶錛?br />select /*+ no_index(t,inx_b) */ * from test t
where a=? and b=? and c=? group by b
[Q]Oracle浠涔堟椂鍊欎細(xì)浣跨敤璺寵穬寮忕儲(chǔ)寮曟壂鎻?/font>
[A]榪欐槸9i鐨勪竴涓柊鐗規(guī)ц煩璺冨紡绱㈠紩鎵弿(Index Skip Scan).
渚嬪琛ㄦ湁绱㈠紩index(a,b,c)錛屽綋鏌ヨ鏉′歡涓?br />where b=?鐨勬椂鍊欙紝鍙兘浼?xì)鋴社敤鍒扮储寮昳ndex(a,b,c)
濡傦紝鎵ц璁″垝涓嚭鐜板涓嬭鍒掞細(xì)
INDEX (SKIP SCAN) OF 'TEST_IDX' (NON-UNIQUE)
Oracle鐨勪紭鍖栧櫒(榪欓噷鎸囩殑鏄疌BO)鑳藉鏌ヨ搴旂敤Index Skip Scans鑷沖皯瑕佹湁鍑犱釜鏉′歡:
1 浼樺寲鍣ㄨ涓烘槸鍚堥傜殑銆?br />2 绱㈠紩涓殑鍓嶅鍒楃殑鍞竴鍊肩殑鏁伴噺鑳芥弧瓚充竴瀹氱殑鏉′歡錛堝閲嶅鍊煎緢澶氾級(jí)銆?br />3 浼樺寲鍣ㄨ鐭ラ亾鍓嶅鍒楃殑鍊煎垎甯?閫氳繃鍒嗘瀽/緇熻琛ㄥ緱鍒?銆?br />4 鍚堥傜殑SQL璇彞
絳夈?br />[Q]鎬庝箞鏍峰垱寤轟嬌鐢ㄨ櫄鎷熺儲(chǔ)寮?/font>
[A]鍙互浣跨敤nosegment閫夐」錛屽
create index virtual_index_name on table_name(col_name) nosegment;
濡傛灉鍦ㄥ摢涓猻ession闇瑕佹祴璇曡櫄鎷熺儲(chǔ)寮曪紝鍙互鍒╃敤闅愬惈鍙傛暟鏉ュ鐞?br />alter session set "_use_nosegment_indexes" = true;
灝卞彲浠ュ埄鐢╡xplain plan for select 鈥︹︽潵鐪嬭櫄鎷熺儲(chǔ)寮曠殑鏁堟灉
鍒╃敤@$ORACLE_HOME/rdbms/admin/utlxpls鏌ョ湅鎵ц璁″垝
鏈鍚庯紝鏍規(guī)嵁闇瑕侊紝鎴戜滑鍙互鍒犻櫎铏氭嫙绱㈠紩錛屽鏅氱儲(chǔ)寮曚竴鏍?br />drop index virtual_index_name;
娉ㄦ剰錛氳櫄鎷熺儲(chǔ)寮曞茍涓嶆槸鐗╃悊瀛樺湪鐨勶紝鎵浠ヨ櫄鎷熺儲(chǔ)寮曞茍涓嶇瓑鍚屼簬鐗╃悊绱㈠紩錛屼笉瑕佺敤鑷姩璺熻釜鍘繪祴璇曡櫄鎷熺儲(chǔ)寮曪紝鍥犱負(fù)閭f槸瀹為檯鎵ц鐨勬晥鏋滐紝鏄敤涓嶅埌铏氭嫙绱㈠紩鐨勩?br />[Q]鎬庢牱鐩戞帶鏃犵敤鐨勭儲(chǔ)寮?/font>
[A]Oracle 9i浠ヤ笂錛屽彲浠ョ洃鎺х儲(chǔ)寮曠殑浣跨敤鎯呭喌錛屽鏋滀竴孌墊椂闂村唴娌℃湁浣跨敤鐨勭儲(chǔ)寮曪紝涓鑸氨鏄棤鐢ㄧ殑绱㈠紩
璇硶涓猴細(xì)
寮濮嬬洃鎺э細(xì)alter index index_name monitoring usage;
媯(gè)鏌ヤ嬌鐢ㄧ姸鎬侊細(xì)select * from v$object_usage;
鍋滄鐩戞帶錛歛lter index index_name nomonitoring usage;
褰撶劧錛屽鏋滄兂鐩戞帶鏁翠釜鐢ㄦ埛涓嬬殑绱㈠紩錛屽彲浠ラ噰鐢ㄥ涓嬬殑鑴氭湰錛?br />set heading off
set echo off
set feedback off
set pages 10000
spool start_index_monitor.sql
SELECT 'alter index '||owner||'.'||index_name||' monitoring usage;'
FROM dba_indexes
WHERE owner = USER;
spool off
set heading on
set echo on
set feedback on
------------------------------------------------
set heading off
set echo off
set feedback off
set pages 10000
spool stop_index_monitor.sql
SELECT 'alter index '||owner||'.'||index_name||' nomonitoring usage;'
FROM dba_indexes
WHERE owner = USER;
spool off
set heading on
set echo on
set feedback on
[Q]鎬庝箞鏍瘋兘鍥哄畾鎴戠殑鎵ц璁″垝
[A]鍙互浣跨敤OUTLINE鏉ュ浐瀹歋QL璇彞鐨勬墽琛岃鍒?br />鐢ㄥ涓嬭鍙ュ彲浠ュ垱寤轟竴涓狾UTLINE
Create oe replace outline OutLn_Name on
Select Col1,Col2 from Table
where 鈥︹?br />濡傛灉瑕佸垹闄utline錛屽彲浠ラ噰鐢?br />Drop Outline OutLn_Name;
瀵逛簬宸茬粡鍒涘緩浜?jiǎn)鐨凮utLine錛屽瓨鏀懼湪OUTLN鐢ㄦ埛鐨凮L$HINTS琛ㄤ笅闈?br />瀵逛簬鏈変簺璇彞錛屼綘鍙互浣跨敤update outln.ol$hints鏉ユ洿鏂皁utline
濡倁pdate outln.ol$hints(ol_name,'TEST1','TEST2','TEST2','TEST1)
where ol_name in ('TEST1','TEST2');
榪欐牱錛屼綘灝辨妸Test1 OUTLINE涓嶵est2 OUTLINE浜掓崲浜?br />濡傛灉鎯沖埄鐢ㄥ凡緇忓瓨鍦ㄧ殑OUTLINE錛岄渶瑕佽緗互涓嬪弬鏁?br />Alter system/session set Query_rewrite_enabled = true
Alter system/session set use_stored_outlines = true
[Q]v$sysstat涓殑class鍒嗗埆浠h〃浠涔?/font>
[A]緇熻綾誨埆
1 浠h〃浜嬩緥媧誨姩
2 浠h〃Redo buffer媧誨姩
4 浠h〃閿?br />8 浠h〃鏁版嵁緙撳啿媧誨姩
16 浠h〃OS媧誨姩
32 浠h〃騫惰媧誨姩
64 浠h〃琛ㄨ闂?br />128 浠h〃璋冭瘯淇℃伅
[Q]鎬庝箞鏉鎺夌壒瀹氱殑鏁版嵁搴撲細(xì)璇?/font>
[A] Alter system kill session 'sid,serial#';
鎴栬?br />alter system disconnect session 'sid,serial#' immediate;
鍦╳in涓婏紝榪樺彲浠ラ噰鐢╫racle鎻愪緵鐨刼rakill鏉鎺変竴涓嚎紼嬶紙鍏跺疄灝辨槸涓涓狾racle榪涚▼錛?br />鍦↙inux/Unix涓婏紝鍙互鐩存帴鍒╃敤kill鏉鎺夋暟鎹簱榪涚▼瀵瑰簲鐨凮S榪涚▼
[Q]鎬庝箞蹇熸煡鎵鵑攣涓庨攣絳夊緟
[A]鏁版嵁搴撶殑閿佹槸姣旇緝鑰楄垂璧勬簮鐨勶紝鐗瑰埆鏄彂鐢熼攣絳夊緟鐨勬椂鍊欙紝鎴戜滑蹇呴』鎵懼埌鍙戠敓絳夊緟鐨勯攣錛屾湁鍙兘鐨勮瘽錛屾潃鎺夎榪涚▼銆?br />榪欎釜璇彞灝嗘煡鎵懼埌鏁版嵁搴撲腑鎵鏈夌殑DML璇彞浜х敓鐨勯攣錛岃繕鍙互鍙戠幇錛屼換浣旸ML璇彞鍏跺疄浜х敓浜?jiǎn)涓や釜閿佸Q屼竴涓槸琛ㄩ攣錛屼竴涓槸琛岄攣銆?br />鍙互閫氳繃alter system kill session 鈥榮id,serial#鈥欐潵鏉鎺変細(xì)璇?br />SELECT /*+ rule */ s.username,
decode(l.type,'TM','TABLE LOCK',
'TX','ROW LOCK',
NULL) LOCK_LEVEL,
o.owner,o.object_name,o.object_type,
s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser
FROM v$session s,v$lock l,dba_objects o
WHERE l.sid = s.sid
AND l.id1 = o.object_id(+)
AND s.username is NOT NULL
濡傛灉鍙戠敓浜?jiǎn)閿伣{夊緟錛屾垜浠彲鑳芥洿鎯崇煡閬撴槸璋侀攣浜?jiǎn)琛ㄨ屽紩璧瘋皝鐨勭瓑寰?br />浠ヤ笅鐨勮鍙ュ彲浠ユ煡璇㈠埌璋侀攣浜?jiǎn)琛ㄥQ岃岃皝鍦ㄧ瓑寰呫?br />SELECT /*+ rule */ lpad(' ',decode(l.xidusn ,0,3,0))||l.oracle_username User_name,
o.owner,o.object_name,o.object_type,s.sid,s.serial#
FROM v$locked_object l,dba_objects o,v$session s
WHERE l.object_id=o.object_id
AND l.session_id=s.sid
ORDER BY o.object_id,xidusn DESC
浠ヤ笂鏌ヨ緇撴灉鏄竴涓爲(wèi)鐘剁粨鏋勶紝濡傛灉鏈夊瓙鑺傜偣錛屽垯琛ㄧず鏈夌瓑寰呭彂鐢熴傚鏋滄兂鐭ラ亾閿佺敤浜?jiǎn)鍝釜鍥炴粴娈靛Q岃繕鍙互鍏寵仈鍒癡$rollname錛屽叾涓瓁idusn灝辨槸鍥炴粴孌電殑USN
[Q] 濡備綍鏈夋晥鐨勫垹闄や竴涓ぇ琛?extent鏁板緢澶氱殑琛?
[A] 涓涓湁寰堝(100k)extent鐨勮〃錛屽鏋滃彧鏄畝鍗曞湴鐢╠rop table鐨勮瘽錛屼細(xì)寰堝ぇ閲忔秷鑰桟PU錛圤racle瑕佸fet$銆乽et$鏁版嵁瀛楀吀榪涜鎿嶄綔錛夛紝鍙兘浼?xì)鐢ㄤ笂鍑犲ぉ鐨勬棄櫁村Q岃緝濂界殑鏂規(guī)硶鏄垎澶氭鍒犻櫎extent錛屼互鍑忚交榪欑娑堣楋細(xì)
1. truncate table big-table reuse storage;
2. alter table big-table deallocate unused keep 2000m ( 鍘熸潵澶у皬鐨刵-1/n);
3. alter table big-table deallocate unused keep 1500m ;
....
4. drop table big-table;
[Q]濡備綍鏀剁緝涓存椂鏁版嵁鏂囦歡鐨勫ぇ灝?/font>
[A]9i浠ヤ笅鐗堟湰閲囩敤
ALTER DATABASE DATAFILE 'file name' RESIZE 100M綾諱技鐨勮鍙?br />9i浠ヤ笂鐗堟湰閲囩敤
ALTER DATABASE TEMPFILE 'file name' RESIZE 100M
娉ㄦ剰錛屼復(fù)鏃舵暟鎹枃浠跺湪浣跨敤鏃訛紝涓鑸笉鑳芥敹緙╋紝闄ら潪鍏抽棴鏁版嵁搴撴垨鏂紑鎵鏈変細(xì)璇濓紝鍋滄瀵逛復(fù)鏃舵暟鎹枃浠剁殑浣跨敤銆?br />[Q]鎬庝箞娓呯悊涓存椂孌?/font>
[A]鍙互浣跨敤濡備笅鍔炴硶
1銆?浣跨敤濡備笅璇彞鏌ョ湅涓涓嬭璋佸湪鐢ㄤ復(fù)鏃舵
SELECT username,sid,serial#,sql_address,machine,program,
tablespace,segtype, contents
FROM v$session se,v$sort_usage su
WHERE se.saddr=su.session_addr
2銆?閭d簺姝e湪浣跨敤涓存椂孌電殑榪涚▼
SQL>Alter system kill session 'sid,serial#';
3銆佹妸TEMP琛ㄧ┖闂村洖緙╀竴涓?br />SQL>Alter tablespace TEMP coalesce;
榪樺彲浠ヤ嬌鐢ㄨ瘖鏂簨浠?br />1銆?紜畾TEMP琛ㄧ┖闂寸殑ts#
SQL> select ts#, name FROM v$tablespace;
TS# NAME
-----------------------
0 SYSYEM
1 RBS
2 USERS
3* TEMP
鈥︹?br />2銆?鎵ц娓呯悊鎿嶄綔
alter session set events 'immediate trace name DROP_SEGMENTS level TS#+1'
璇存槑錛?
temp琛ㄧ┖闂寸殑TS# 涓?3*, So TS#+ 1= 4
濡傛灉鎯蟲竻闄ゆ墍鏈夎〃絀洪棿鐨勪復(fù)鏃舵錛屽垯
TS# = 2147483647
[Q]鎬庝箞鏍穌ump鏁版嵁搴撳唴閮ㄧ粨鏋勶紝濡備笂闈㈡樉紺虹殑鎺у埗鏂囦歡鐨勭粨鏋?/font>
[A]甯歌鐨勬湁
1銆佸垎鏋愭暟鎹枃浠跺潡錛岃漿鍌ㄦ暟鎹枃浠秐鐨勫潡m
alter system dump datafile n block m
2銆佸垎鏋愭棩蹇楁枃浠?br />alter system dump logfile logfilename;
3銆佸垎鏋愭帶鍒舵枃浠剁殑鍐呭
alter session set events 'immediate trace name CONTROLF level 10'
4銆佸垎鏋愭墍鏈夋暟鎹枃浠跺ご
alter session set events 'immediate trace name FILE_HDRS level 10'
5銆佸垎鏋愭棩蹇楁枃浠跺ご
alter session set events 'immediate trace name REDOHDR level 10'
6銆佸垎鏋愮郴緇熺姸鎬侊紝鏈濂芥瘡10鍒嗛挓涓嬈★紝鍋氫笁嬈″姣?br />alter session set events 'immediate trace name SYSTEMSTATE level 10'
7銆佸垎鏋愯繘紼嬬姸鎬?br />alter session set events 'immediate trace name PROCESSSTATE level 10'
8銆佸垎鏋怢ibrary Cache鐨勮緇嗘儏鍐?br />alter session set events 'immediate trace name library_cache level 10'
[Q]濡備綍鑾峰緱鎵鏈夌殑浜嬩歡浠g爜
[A] 浜嬩歡浠g爜鑼冨洿涓鑸粠10000 to 10999錛屼互涓嬪垪鍑轟簡(jiǎn)榪欎釜鑼冨洿鐨勪簨浠朵唬鐮佷笌淇℃伅
SET SERVEROUTPUT ON
DECLARE
err_msg VARCHAR2(120);
BEGIN
dbms_output.enable (1000000);
FOR err_num IN 10000..10999
LOOP
err_msg := SQLERRM (-err_num);
IF err_msg NOT LIKE '%Message '||err_num||' not found%' THEN
dbms_output.put_line (err_msg);
END IF;
END LOOP;
END;
/
鍦║nix緋葷粺涓婏紝浜嬩歡淇℃伅鏀懼湪涓涓枃鏈枃浠墮噷
$ORACLE_HOME/rdbms/mesg/oraus.msg
鍙互鐢ㄥ涓嬭剼鏈煡鐪嬩簨浠朵俊鎭?
event=10000
while [ $event -ne 10999 ]
do
event=`expr $event + 1`
oerr ora $event
done
瀵逛簬宸茬粡紜繚鐨?姝e湪璺熻釜鐨勪簨浠訛紝鍙互鐢ㄥ涓嬭剼鏈幏寰?br />SET SERVEROUTPUT ON
DECLARE
l_level NUMBER;
BEGIN
FOR l_event IN 10000..10999
LOOP
dbms_system.read_ev (l_event,l_level);
IF l_level > 0 THEN
dbms_output.put_line ('Event '||TO_CHAR (l_event)||
' is set at level '||TO_CHAR (l_level));
END IF;
END LOOP;
END;
/
[Q]浠涔堟槸STATSPACK錛屾垜鎬庝箞浣跨敤瀹冿紵
[A]Statspack鏄疧racle 8i浠ヤ笂鎻愪緵鐨勪竴涓潪甯稿ソ鐨勬ц兘鐩戞帶涓庤瘖鏂伐鍏鳳紝鍩烘湰涓婂叏閮ㄥ寘鍚簡(jiǎn)BSTAT/ESTAT鐨勫姛鑳斤紝鏇村鐨勪俊鎭?br />鍙互鍙傝冮檮甯︽枃妗?ORACLE_HOME/rdbms/admin/spdoc.txt銆?
瀹夎Statspack:
cd $ORACLE_HOME/rdbms/admin
sqlplus "/ as sysdba" @spdrop.sql -- 鍗歌澆錛岀涓嬈″彲浠ヤ笉闇瑕?br />sqlplus "/ as sysdba" @spcreate.sql -- 闇瑕佹牴鎹彁紺鴻緭鍏ヨ〃絀洪棿鍚?br />浣跨敤Statspack:
sqlplus perfstat/perfstat
exec statspack.snap; -- 榪涜淇℃伅鏀墮泦緇熻錛屾瘡嬈¤繍琛岄兘灝嗕駭鐢熶竴涓揩鐓у彿
-- 鑾峰緱蹇収鍙鳳紝蹇呴』瑕佹湁涓や釜浠ヤ笂鐨勫揩鐓э紝鎵嶈兘鐢熸垚鎶ヨ〃
select SNAP_ID, SNAP_TIME from STATS$SNAPSHOT;
@spreport.sql -- 杈撳叆闇瑕佹煡鐪嬬殑寮濮嬪揩鐓у彿涓庣粨鏉熷揩鐓у彿
鍏朵粬鐩稿叧鑴氭湰s:
spauto.sql - 鍒╃敤dbms_job鎻愪氦涓涓綔涓氾紝鑷姩鐨勮繘琛孲TATPACK鐨勪俊鎭敹闆嗙粺璁?
sppurge.sql - 娓呴櫎涓孌佃寖鍥村唴鐨勭粺璁′俊鎭紝闇瑕佹彁渚涘紑濮嬪揩鐓т笌緇撴潫蹇収鍙?br />sptrunc.sql - 娓呴櫎(truncate)鎵鏈夌粺璁′俊鎭?/span>



]]>
ORACLE涔嬪父鐢‵AQ V1.0 (5) 絎簲閮ㄥ垎銆丱RACLE緗戠粶涓庡畨鍏?/title><link>http://m.shnenglu.com/ivenher/articles/13154.html</link><dc:creator>鐖遍キ鐩?/dc:creator><author>鐖遍キ鐩?/author><pubDate>Fri, 29 Sep 2006 09:26:00 GMT</pubDate><guid>http://m.shnenglu.com/ivenher/articles/13154.html</guid><wfw:comment>http://m.shnenglu.com/ivenher/comments/13154.html</wfw:comment><comments>http://m.shnenglu.com/ivenher/articles/13154.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/ivenher/comments/commentRss/13154.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/ivenher/services/trackbacks/13154.html</trackback:ping><description><![CDATA[ <span id="hvzpftn" class="tpc_content" twffan="done"> <b>絎簲閮ㄥ垎銆丱RACLE緗戠粶涓庡畨鍏?/b> <br /> <font color="red">[Q]濡備綍闄愬畾鐗瑰畾IP璁塊棶鏁版嵁搴?/font> <br />[A]鍙互鍒╃敤鐧誨綍瑙﹀彂鍣ㄣ乧mgw鎴栬呮槸鍦?OREACLE_HOME/network/admin涓嬫柊澧炰竴涓猵rotocol.ora鏂囦歡錛堟湁浜沷s鍙兘鏄? protocol.ora錛夛紝9i鍙互鐩存帴淇敼sqlnet.ora錛?br />澧炲姞濡備笅鍐呭錛?br />tcp.validnode_checking=yes<br />#鍏佽璁塊棶鐨刬p<br />tcp.inited_nodes=(ip1,ip2,鈥︹?<br />#涓嶅厑璁歌闂殑ip<br />tcp.excluded_nodes=(ip1,ip2,鈥︹?<br /><font color="red">[Q]濡備綍絀胯繃闃茬伀澧欒繛鎺ユ暟鎹簱</font><br />[A]榪欎釜闂鍙細(xì)鍦╓IN騫沖彴鍑虹幇錛孶NIX騫沖彴浼?xì)鑷姩瑙e啛雬?br />瑙e喅鏂規(guī)硶錛?br />鍦ㄦ湇鍔″櫒绔殑SQLNET.ORA搴旂被浼?br />SQLNET.AUTHENTICATION_SERVICES= (NTS) <br />NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME) <br />TRACE_LEVEL_CLIENT = 16 <br />娉ㄥ唽琛ㄧ殑HOME0鍔燵HKEY_LOCAL_MACHINE] <br />USE_SHARED_SOCKET=TRUE<br /><font color="red">[Q]濡備綍鍒╃敤hostname鏂瑰紡榪炴帴鏁版嵁搴?/font><br />host name鏂瑰紡鍙敮鎸乼cp/ip鍗忚鐨勫皬灞鍩熺綉<br />淇敼listener.ora涓殑濡備笅淇℃伅<br />(SID_DESC =<br />(GLOBAL_DBNAME = ur_hostname) --浣犵殑鏈哄櫒鍚?br />(ORACLE_HOME = E:\oracle\ora92) --oracle home<br />(SID_NAME = orcl) --sid name<br />)<br />鐒跺悗鍦ㄥ鎴風(fēng)<br />鐨剆qlnet.ora涓紝紜繚鏈?br />NAMES.DIRECTORY_PATH= (HOSTNAME)<br />浣犲氨鍙互鍒╃敤鏁版嵁搴撴湇鍔″櫒鐨勫悕縐拌闂暟鎹簱浜?br /><font color="red">[Q]dbms_repcat_admin鑳藉甫鏉ヤ粈涔堝畨鍏ㄩ殣鎮(zhèn)?/font><br />[A]濡傛灉涓涓敤鎴瘋兘鎵цdbms_repcat_admin鍖咃紝灝嗚幏寰楁瀬澶х殑緋葷粺鏉冮檺銆?br />浠ヤ笅鎯呭喌鍙兘鑾峰緱璇ュ寘鐨勬墽琛屾潈闄愶細(xì)<br />1銆佸湪sys涓媑rant execute on dbms_repcat_admin to public[|user_name]<br />2銆佺敤鎴鋒嫢鏈塭xecute any procedure鐗規(guī)潈錛堜粎闄愪簬9i浠ヤ笅錛?i蹇呴』鏄劇ず鎺堟潈錛?br />濡傛灉鐢ㄦ埛閫氳繃鎵ц濡備笅璇彞錛?br />exec sys.dbms_repcat_admin.grant_admin_any_schema('user_name');<br />璇ョ敤鎴峰皢鑾峰緱鏋佸ぇ鐨勭郴緇熺壒鏉?br />鍙互浠巙ser_sys_privs涓幏寰楄緇嗕俊鎭?br /><font color="red">[Q]鍦ㄤ笉鐭ラ亾鐢ㄦ埛瀵嗙爜鐨勬椂鍊欙紝鎬庝箞鏍瘋煩杞埌鍙﹀涓涓敤鎴鋒墽琛屾搷浣滃悗騫朵笉褰卞搷璇ョ敤鎴?</font><br />[A]鎴戜滑閫氳繃濡備笅鐨勬柟娉曪紝鍙互瀹夊叏浣跨敤璇ョ敤鎴鳳紝鐒跺悗鍐嶈煩杞洖鏉ワ紝鍦ㄦ煇浜涙椂鍊欐瘮杈冩湁鐢?br />闇瑕丄lter user鏉冮檺鎴朌BA鏉冮檺錛?br />SQL> select password from dba_users where username='SCOTT';<br />PASSWORD<br />-----------------------------<br />F894844C34402B67<br />SQL> alter user scott identified by lion;<br />User altered.<br />SQL> connect scott/lion<br />Connected.<br />REM Do whatever you like...<br />SQL> connect system/manager<br />Connected.<br />SQL> alter user scott identified by values 'F894844C34402B67';<br />User altered.<br />SQL> connect scott/tiger<br />Connected.<br /><font color="red">[Q]濡備綍鍔犲浐浣犵殑鏁版嵁搴?/font><br />[A]瑕佹敞鎰忎互涓嬫柟闈?br />1. 淇敼sys, system鐨勫彛浠ゃ?<br />2. Lock錛屼慨鏀癸紝鍒犻櫎榛樿鐢ㄦ埛錛?dbsnmp,ctxsys絳夈?<br />3. 鎶奟EMOTE_OS_AUTHENT鏀規(guī)垚False錛岄槻姝㈣繙紼嬫満鍣ㄧ洿鎺ョ櫥闄嗐?<br />4. 鎶奜7_DICTIONARY_ACCESSIBILITY鏀規(guī)垚False銆?<br />5. 鎶婁竴浜涙潈闄愪粠PUBLIC Role鍙栨秷鎺夈?<br />6. 媯(gè)鏌ユ暟鎹簱鐨勬暟鎹枃浠剁殑瀹夊叏鎬с備笉瑕佽緗垚666涔嬬被鐨勩傛鏌ュ叾浠杁ba 鐢ㄦ埛銆?<br />7. 鎶婁竴浜涗笉闇瑕佺殑鏈嶅姟錛堟瘮濡俧tp, nfs絳夊叧闂帀錛?<br />8. 闄愬埗鏁版嵁搴撲富鏈轟笂闈㈢殑鐢ㄦ埛鏁伴噺銆?<br />9. 瀹氭湡媯(gè)鏌etalink/OTN涓婇潰鐨剆ecurity Alert銆傛瘮濡傦細(xì)<br /><a target="_blank"><font color="#003366">http://otn.oracle.com/deploy/security/alerts.htm</font></a><br /><br />10. 鎶婁綘鐨勬暟鎹簱涓庡簲鐢ㄦ斁鍦ㄤ竴涓崟鐙殑瀛愮綉涓紝瑕佷笉鐒朵綘鐨勭敤鎴峰瘑鐮佸緢瀹規(guī)槗琚玸niffer鍘匯傛垨鑰呴噰鐢╝dvance security錛屽鐢ㄦ埛鐧誨綍鍔犲瘑銆?<br />11. 闄愭鍙湁鏌愪簺ip鎵嶈兘璁塊棶浣犵殑鏁版嵁搴撱?<br />12. lsnrctl 瑕佸姞瀵嗙爜錛岃涓嶇劧鍒漢寰堝鏄撲粠澶栭潰鍏蟲帀浣犵殑listener銆?<br />13. 濡傛灉鍙兘錛屼笉瑕佷嬌鐢ㄩ粯璁?521绔彛<br /><font color="red">[Q]濡備綍媯(gè)鏌ョ敤鎴鋒槸鍚︾敤浜?jiǎn)榛樿瀵嗙?/font><br /><br />[A]濡傛灉浣跨敤榛樿瀵嗙爜錛屽緢鍙兘灝卞浣犵殑鏁版嵁搴撻犳垚涓瀹氱殑瀹夊叏闅愭?zhèn)eQ岄偅涔堝彲浠ヤ嬌鐢ㄥ涓嬬殑鏌ヨ鑾峰緱閭d簺鐢ㄦ埛浣跨敤榛樿瀵嗙爜<br />select username "User(s) with Default Password!" <br />from dba_users <br />where password in <br />('E066D214D5421CCC', -- dbsnmp <br />'24ABAB8B06281B4C', -- ctxsys <br />'72979A94BAD2AF80', -- mdsys <br />'C252E8FA117AF049', -- odm <br />'A7A32CD03D3CE8D5', -- odm_mtr <br />'88A2B2C183431F00', -- ordplugins <br />'7EFA02EC7EA6B86F', -- ordsys <br />'4A3BA55E08595C81', -- outln <br />'F894844C34402B67', -- scott <br />'3F9FBD883D787341', -- wk_proxy <br />'79DF7A1BD138CF11', -- wk_sys <br />'7C9BA362F8314299', -- wmsys <br />'88D8364765FCE6AF', -- xdb <br />'F9DA8977092B7B81', -- tracesvr <br />'9300C0977D7DC75E', -- oas_public <br />'A97282CE3D94E29E', -- websys <br />'AC9700FD3F1410EB', -- lbacsys <br />'E7B5D92911C831E1', -- rman <br />'AC98877DE1297365', -- perfstat <br />'66F4EF5650C20355', -- exfsys <br />'84B8CBCA4D477FA3', -- si_informtn_schema <br />'D4C5016086B2DC6A', -- sys <br />'D4DF7931AB130E37') -- system <br />/<br /><font color="red">[Q]濡備綍淇敼榛樿鐨刋DB鐩戝惉绔彛</font><br /><br />[A] Oracle9i榛樿鐨刋ML DB鎶奌TTP鐨勯粯璁ょ鍙h涓?080錛岃繖鏄竴涓お甯哥敤鐨勭鍙d簡(jiǎn)錛屽緢澶氬埆鐨刉ebServer閮戒細(xì)浣跨敤榪欎釜绔彛錛?br />濡傛灉鎴戜滑瀹夎浜?jiǎn)瀹冨Q屾渶濂戒慨鏀逛竴涓嬶紝閬垮厤鍐茬獊錛屽鏋滀笉浣跨敤鍛紝灝辨渶濂戒笉瑕佸畨瑁?br />鎻愪緵涓夌淇敼鐨勬柟娉?br />1.dbca錛岄夋嫨浣犵殑鏁版嵁搴擄紝鐒跺悗Standard Database Features->Customize->Oracle XML DB option錛岃繘鍏ヨ繖涓敾闈綘搴旇灝辯煡閬撴庝箞鏀逛簡(jiǎn)銆?<br />2.OEM console錛屽湪XML Database 鐨勯厤緗噷闈慨鏀?<br />3.鐢╫racle鎻愪緵鐨勫寘錛?<br />-- 鎶奌TTP/WEBDAV绔彛浠?080鏀瑰埌8081 <br />SQL> call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(), <br />'/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()',8081)) <br />/ <br />-- 鎶奆TP绔彛浠?100鏀瑰埌2111 <br />SQL> call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(), <br />'/xdbconfig/sysconfig/protocolconfig/ftpconfig/ftp-port/text()',2111)) <br />/ <br />SQL> commit; <br />SQL> exec dbms_xdb.cfg_refresh; <br />-- 媯(gè)鏌ヤ慨鏀規(guī)槸鍚﹀凡緇忔垚鍔?<br />SQL> select dbms_xdb.cfg_get from dual;<br /><font color="red">[Q]鎬庝箞鎹曡幏鐢ㄦ埛鐧誨綍淇℃伅錛屽SID錛孖P鍦板潃絳?/font><br />[A]鍙互鍒╃敤鐧誨綍瑙﹀彂鍣紝濡?br />CREATE OR REPLACE TRIGGER tr_login_record<br />AFTER logon ON DATABASE<br />DECLARE<br />miUserSid NUMBER;<br />mtSession v$session%ROWTYPE;<br />CURSOR cSession(iiUserSid IN NUMBER) IS<br />SELECT * FROM v$session<br />WHERE sid=iiUserSid;<br />BEGIN<br />SELECT sid INTO miUserSid FROM v$mystat WHERE rownum</span> <br /> <!----> <!----> <!----> <img src ="http://m.shnenglu.com/ivenher/aggbug/13154.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/ivenher/" target="_blank">鐖遍キ鐩?/a> 2006-09-29 17:26 <a href="http://m.shnenglu.com/ivenher/articles/13154.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>ORACLE涔嬪父鐢‵AQ V1.0 (2) 絎簩閮ㄥ垎銆丱RACLE鏋勬灦浣撶郴http://m.shnenglu.com/ivenher/articles/13151.html鐖遍キ鐩?/dc:creator>鐖遍キ鐩?/author>Fri, 29 Sep 2006 09:24:00 GMThttp://m.shnenglu.com/ivenher/articles/13151.htmlhttp://m.shnenglu.com/ivenher/comments/13151.htmlhttp://m.shnenglu.com/ivenher/articles/13151.html#Feedback0http://m.shnenglu.com/ivenher/comments/commentRss/13151.htmlhttp://m.shnenglu.com/ivenher/services/trackbacks/13151.html 絎簩閮ㄥ垎銆丱RACLE鏋勬灦浣撶郴
[Q]ORACLE鐨勬湁閭d簺鏁版嵁綾誨瀷
[A]甯歌鐨勬暟鎹被鍨嬫湁
CHAR鍥哄畾闀垮害瀛楃鍩燂紝鏈澶ч暱搴﹀彲杈?000涓瓧鑺?
NCHAR澶氬瓧鑺傚瓧絎﹂泦鐨勫浐瀹氶暱搴﹀瓧絎﹀煙錛岄暱搴﹂殢瀛楃闆嗚屽畾錛屾渶澶氫負(fù)2000涓瓧絎︽垨2000涓瓧鑺?
VARCHAR2鍙彉闀垮害瀛楃鍩燂紝鏈澶ч暱搴﹀彲杈?000涓瓧絎?
NVARCHAR2澶氬瓧鑺傚瓧絎﹂泦鐨勫彲鍙橀暱搴﹀瓧絎﹀煙錛岄暱搴﹂殢瀛楃闆嗚屽畾錛屾渶澶氫負(fù)4000涓瓧絎︽垨4000涓瓧鑺?
DATE鐢ㄤ簬瀛樺偍鍏ㄩ儴鏃ユ湡鐨勫浐瀹氶暱搴?7涓瓧鑺?瀛楃鍩燂紝鏃墮棿浣滀負(fù)鏃ユ湡鐨勪竴閮ㄥ垎瀛樺偍鍏朵腑銆傞櫎闈?
閫氳繃璁劇疆init.ora鏂囦歡鐨凬LS_DATE_FORMAT鍙傛暟鏉ュ彇浠f棩鏈熸牸寮忥紝鍚﹀垯鏌ヨ鏃訛紝鏃ユ湡浠?
DD-MON-YY鏍煎紡琛ㄧず錛屽13-APR-99琛ㄧず1999.4.13
NUMBER鍙彉闀垮害鏁板煎垪錛屽厑璁稿間負(fù)0銆佹鏁板拰璐熸暟銆侼UMBER鍊奸氬父浠?涓瓧鑺傛垨鏇村皯鐨勫瓧鑺傚瓨鍌紝鏈澶?1瀛楄妭
LONG鍙彉闀垮害瀛楃鍩燂紝鏈澶ч暱搴﹀彲鍒?GB
RAW琛ㄧず浜岃繘鍒舵暟鎹殑鍙彉闀垮害瀛楃鍩燂紝鏈闀夸負(fù)2000涓瓧鑺?
LONGRAW琛ㄧず浜岃繘鍒舵暟鎹殑鍙彉闀垮害瀛楃鍩燂紝鏈闀夸負(fù)2GB
MLSLABEL鍙敤浜嶵rustedOracle錛岃繖涓暟鎹被鍨嬫瘡琛屼嬌鐢?鑷?涓瓧鑺?
BLOB浜岃繘鍒跺ぇ瀵硅薄錛屾渶澶ч暱搴︿負(fù)4GB
CLOB瀛楃澶у璞★紝鏈澶ч暱搴︿負(fù)4GB
NCLOB澶氬瓧鑺傚瓧絎﹂泦鐨凜LOB鏁版嵁綾誨瀷錛屾渶澶ч暱搴︿負(fù)4GB
BFILE澶栭儴浜岃繘鍒舵枃浠訛紝澶у皬鐢辨搷浣滅郴緇熷喅瀹?
ROWID琛ㄧずRowID鐨勪簩榪涘埗鏁版嵁錛孫racle8RowID鐨勬暟鍊間負(fù)10涓瓧鑺傦紝鍦∣racle7涓嬌鐢ㄧ殑闄愬畾
RowID鏍煎紡涓?涓瓧鑺?
UROWID鐢ㄤ簬鏁版嵁瀵誨潃鐨勪簩榪涘埗鏁版嵁錛屾渶澶ч暱搴︿負(fù)4000涓瓧鑺?
[Q]Oracle鏈夊摢浜涘父瑙佸叧閿瓧錛屼笉鑳借鐢ㄤ簬瀵硅薄鍚?/font>
[A]浠?i鐗堟湰涓轟緥錛屼竴鑸繚鐣欏叧閿瓧涓嶈兘鐢ㄥ仛瀵硅薄鍚?br />ACCESS ADD ALL ALTER AND ANY AS ASC AUDIT BETWEEN BY CHAR CHECK CLUSTER COLUMN COMMENT COMPRESS CONNECT CREATE CURRENT DATE DECIMAL DEFAULT DELETE DESC DISTINCT DROP ELSE EXCLUSIVE EXISTS FILE FLOAT FOR FROM GRANT GROUP HAVING IDENTIFIED IMMEDIATE IN INCREMENT INDEX INITIAL INSERT INTEGER INTERSECT INTO IS LEVEL LIKE LOCK LONG MAXEXTENTS MINUS MLSLABEL MODE MODIFY NOAUDIT NOCOMPRESS NOT NOWAIT NULL NUMBER OF OFFLINE ON ONLINE OPTION OR ORDER PCTFREE PRIOR PRIVILEGES PUBLIC RAW RENAME RESOURCE REVOKE ROW ROWID ROWNUM ROWS SELECT SESSION SET SHARE SIZE SMALLINT START SUCCESSFUL SYNONYM SYSDATE TABLE THEN TO TRIGGER UID UNION UNIQUE UPDATE USER VALIDATE VALUES VARCHAR VARCHAR2 VIEW WHENEVER WHERE WITH
璇︾粏淇℃伅鍙互鏌ョ湅v$reserved_words瑙嗗浘
[Q]鎬庝箞鏌ョ湅鏁版嵁搴撶増鏈?/font>
[A]select * from v$version
鍖呭惈鐗堟湰淇℃伅錛屾牳蹇?jī)鐗堟湰淇℃伅锛屼綅鏁颁俊鎭?32浣嶆垨64浣?絳?br />鑷充簬浣嶆暟淇℃伅錛屽湪linux/unix騫沖彴涓婏紝鍙互閫氳繃file鏌ョ湅錛屽
file $ORACLE_HOME/bin/oracle
[Q]鎬庝箞鏌ョ湅鏁版嵁搴撳弬鏁?/font>
[A]show parameter 鍙傛暟鍚?br />濡傞氳繃show parameter spfile鍙互鏌ョ湅9i鏄惁浣跨敤spfile鏂囦歡
鎴栬卻elect * from v$parameter
闄や簡(jiǎn)榪欓儴鍒嗗弬鏁幫紝Oracle榪樻湁澶ч噺闅愬惈鍙傛暟錛屽彲浠ラ氳繃濡備笅璇彞鏌ョ湅:
SELECT NAME
,VALUE
,decode(isdefault, 'TRUE','Y','N') as "Default"
,decode(ISEM,'TRUE','Y','N') as SesMod
,decode(ISYM,'IMMEDIATE', 'I',
'DEFERRED', 'D',
'FALSE', 'N') as SysMod
,decode(IMOD,'MODIFIED','U',
'SYS_MODIFIED','S','N') as Modified
,decode(IADJ,'TRUE','Y','N') as Adjusted
,description
FROM ( --GV$SYSTEM_PARAMETER
SELECT x.inst_id as instance
,x.indx+1
,ksppinm as NAME
,ksppity
,ksppstvl as VALUE
,ksppstdf as isdefault
,decode(bitand(ksppiflg/256,1),1,'TRUE','FALSE') as ISEM
,decode(bitand(ksppiflg/65536,3),
1,'IMMEDIATE',2,'DEFERRED','FALSE') as ISYM
,decode(bitand(ksppstvf,7),1,'MODIFIED','FALSE') as IMOD
,decode(bitand(ksppstvf,2),2,'TRUE','FALSE') as IADJ
,ksppdesc as DESCRIPTION
FROM x$ksppi x
,x$ksppsv y
WHERE x.indx = y.indx
AND substr(ksppinm,1,1) = '_'
AND x.inst_id = USERENV('Instance')
)
ORDER BY NAME
[Q]鎬庝箞鏍鋒煡鐪嬫暟鎹簱瀛楃闆?/font>
[A]鏁版嵁搴撴湇鍔″櫒瀛楃闆唖elect * from nls_database_parameters錛屽叾鏉ユ簮浜巔rops$錛屾槸琛ㄧず鏁版嵁搴撶殑瀛楃闆嗐?br />瀹㈡埛绔瓧絎﹂泦鐜select * from nls_instance_parameters,鍏舵潵婧愪簬v$parameter錛?br />琛ㄧず瀹㈡埛绔殑瀛楃闆嗙殑璁劇疆錛屽彲鑳芥槸鍙傛暟鏂囦歡錛岀幆澧冨彉閲忔垨鑰呮槸娉ㄥ唽琛?br />浼?xì)璇濆瓧绗﹂泦鐜?select * from nls_session_parameters錛屽叾鏉ユ簮浜巚$nls_parameters錛岃〃紺轟細(xì)璇濊嚜宸辯殑璁劇疆錛屽彲鑳芥槸浼?xì)璇濈殑鐜鍙橀噺鎴栬呮槸alter session瀹屾垚錛屽鏋滀細(xì)璇濇病鏈夌壒孌婄殑璁劇疆錛屽皢涓巒ls_instance_parameters涓鑷淬?br />瀹㈡埛绔殑瀛楃闆嗚姹備笌鏈嶅姟鍣ㄤ竴鑷達(dá)紝鎵嶈兘姝g‘鏄劇ず鏁版嵁搴撶殑闈濧scii瀛楃銆傚鏋滃涓緗瓨鍦ㄧ殑鏃跺欙紝alter session>鐜鍙橀噺>娉ㄥ唽琛?gt;鍙傛暟鏂囦歡
瀛楃闆嗚姹備竴鑷達(dá)紝浣嗘槸璇█璁劇疆鍗村彲浠ヤ笉鍚岋紝璇█璁劇疆寤鴻鐢ㄨ嫳鏂囥傚瀛楃闆嗘槸zhs16gbk錛屽垯nls_lang鍙互鏄疉merican_America.zhs16gbk銆?br />[Q]鎬庝箞鏍蜂慨鏀瑰瓧絎﹂泦
[A]8i浠ヤ笂鐗堟湰鍙互閫氳繃alter database鏉ヤ慨鏀瑰瓧絎﹂泦錛屼絾涔熷彧闄愪簬瀛愰泦鍒拌秴闆嗭紝涓嶅緩璁慨鏀筽rops$琛紝灝嗗彲鑳藉鑷翠弗閲嶉敊璇?br />Startup nomount;
Alter database mount exclusive;
Alter system enable restricted session;
Alter system set job_queue_process=0;
Alter database open;
Alter database character set zhs16gbk;
[Q]鎬庢牱寤虹珛鍩轟簬鍑芥暟绱㈠紩
[A]8i浠ヤ笂鐗堟湰錛岀‘淇?br />Query_rewrite_enabled=true
Query_rewrite_integrity=trusted
Compatible=8.1.0浠ヤ笂
Create index indexname on table (function(field));
[Q]鎬庝箞鏍風(fēng)Щ鍔ㄨ〃鎴栬〃鍒嗗尯
[A]縐誨姩琛ㄧ殑璇硶
Alter table tablename move
[Tablespace new_name
Storage(initial 50M next 50M
pctincrease 0 pctfree 10 pctused 50 initrans 2) nologging]
縐誨姩鍒嗗尯鐨勮娉?br />alter table tablename move (partition partname)
[update global indexes]
涔嬪悗涔嬪悗蹇呴』閲嶅緩绱㈠紩
Alter index indexname rebuild
濡傛灉琛ㄦ湁Lob孌碉紝閭d箞姝e父鐨凙lter涓嶈兘縐誨姩Lob孌靛埌鍒殑琛ㄧ┖闂達(dá)紝鑰屼粎浠呮槸縐誨姩浜?jiǎn)琛▽D碉紝鍙互閲囩敤濡備笅鐨勬柟娉曠Щ鍔↙ob孌?br />alter table tablename move
lob(lobsegname) store as (tablespace newts);
[Q]鎬庝箞鑾峰緱褰撳墠鐨凷CN
[A]9i浠ヤ笅鐗堟湰
select max(ktuxescnw*power(2,32)+ktuxescnb) from x$ktuxe;
濡傛灉鏄?i浠ヤ笂鐗堟湰錛岃繕鍙互閫氳繃浠ヤ笅璇彞鑾峰彇
select dbms_flashback.get_system_change_number from dual;
[Q]ROWID鐨勭粨鏋勪笌緇勬垚
[A]8浠ヤ笂鐗堟湰鐨凴OWID緇勬垚
OOOOOOFFFBBBBBBRRR
8浠ヤ笅ROWID緇勬垚錛堜篃鍙彈闄怰owid錛?br />BBBBBBBB.RRRR.FFFF
鍏朵腑錛孫鏄璞D錛孎鏄枃浠禝D錛孊鏄潡ID錛孯鏄ID
濡傛灉鎴戜滑鏌ヨ涓涓〃鐨凴OWID錛屾牴鎹叾涓潡鐨勪俊鎭紝鍙互鐭ラ亾璇ヨ〃紜垏鍗犵敤浜?jiǎn)澶殲畱涓潡锛寴q涜岀煡閬撳崰鐢ㄤ簡(jiǎn)澶氬皯鏁版嵁絀洪棿錛堟鏁版嵁絀洪棿涓嶇瓑浜庤〃鐨勫垎閰嶇┖闂達(dá)級(jí)
[Q]鎬庝箞鏍瘋幏鍙栧璞$殑DDL璇彞
[A]絎笁鏂瑰伐鍏峰氨涓嶈浜?jiǎn)涓昏璇翠竴涓?i浠ヤ笂鐗堟湰鐨刣bms_metadata
1銆佽幏寰楀崟涓璞$殑DDL璇彞
set heading off
set echo off
set feedback off
set pages off
set long 90000
select dbms_metadata.get_ddl('TABLE','TABLENAME','SCAME') from dual;
濡傛灉鑾峰彇鏁翠釜鐢ㄦ埛鐨勮剼鏈紝鍙互鐢ㄥ涓嬭鍙?br />select dbms_metadata.get_ddl('TABLE',u.table_name) from user_tables u;
褰撶劧錛屽鏋滄槸绱㈠紩錛屽垯闇瑕佷慨鏀圭浉鍏硉able鍒癷ndex
[Q]濡備綍鍒涘緩綰︽潫鐨勭儲(chǔ)寮曞湪鍒殑琛ㄧ┖闂翠笂
[A]1銆佸厛鍒涘緩绱㈠紩錛屽啀鍒涘緩綰︽潫
2銆佸埄鐢ㄥ涓嬭鍙ュ垱寤?br />create table test
(c1 number constraint pk_c1_id primary key
using index tablespace useridex,
c2 varchar2(10)
) tablespace userdate;
[Q]鎬庝箞鐭ラ亾閭d簺琛ㄦ病鏈夊緩绔嬩富閿?/font>
[A]涓鑸殑鎯呭喌涓嬶紝琛ㄧ殑涓婚敭鏄繀瑕佺殑錛屾病鏈変富閿殑琛ㄥ彲浠ヨ鏄笉絎﹀悎璁捐瑙勮寖鐨勩?br />SELECT table_name
FROM User_tables t
WHERE NOT EXISTS
(SELECT table_name
FROM User_constraints c
WHERE constraint_type = 'P'
AND t.table_name=c.table_name)
鍏跺畠鐩稿叧鏁版嵁瀛楀吀瑙i噴
user_tables 琛?br />user_tab_columns 琛ㄧ殑鍒?br />user_constraints 綰︽潫
user_cons_columns 綰︽潫涓庡垪鐨勫叧緋?br />user_indexes 绱㈠紩
user_ind_columns 绱㈠紩涓庡垪鐨勫叧緋?br />[Q]dbms_output鎻愮ず緙撳啿鍖轟笉澶燂紝鎬庝箞澧炲姞
[A]dbms_output.enable(20000);
鍙﹀錛屽鏋渄bms_output鐨勪俊鎭笉鑳芥樉紺猴紝
闇瑕佽緗?br />set serveroutput on
[Q]鎬庝箞鏍蜂慨鏀硅〃鐨勫垪鍚?/font>
[A]9i浠ヤ笂鐗堟湰鍙互閲囩敤rname鍛戒護(hù)
ALTER TABLE UserName.TabName
RENAME COLUMN SourceColumn TO DestColumn
9i浠ヤ笅鐗堟湰鍙互閲囩敤create table 鈥︹?as select * from SourceTable鐨勬柟寮忋?br />鍙﹀錛?i浠ヤ笂鍙互鏀寔鍒犻櫎鍒椾簡(jiǎn)
ALTER TABLE UserName.TabName
SET UNUSED (ColumnName) CASCADE CONSTRAINTS
ALTER TABLE UserName.TabName
DROP (ColumnName) CASCADE CONSTRAINTS
[Q]鎬庝箞鏍風(fēng)粰sqlplus瀹夎甯姪
[A]SQLPLUS鐨勫府鍔╁繀欏繪墜宸ュ畨瑁咃紝shell鑴氭湰涓?ORACLE_HOME/bin/helpins
鍦ㄥ畨瑁呬箣鍓嶏紝蹇呴』鍏堣緗甋YSTEM_PASS鐜鍙橀噺錛屽錛?br />$ setenv SYSTEM_PASS SYSTEM/MANAGER
$ helpins
濡傛灉涓嶈緗鐜鍙橀噺錛屽皢鍦ㄨ繍琛岃剼鏈殑鏃跺欐彁紺鴻緭鍏ョ幆澧冨彉閲?br />褰撶劧錛岄櫎浜?jiǎn)shell鑴氭湰錛岃繕鍙互鍒╃敤sql鑴氭湰瀹夎錛岄偅灝變笉鐢ㄨ緗幆澧冨彉閲忎簡(jiǎn)錛屼絾鏄紝鎴戜滑蹇呴』浠ystem鐧誨綍銆?br />$ sqlplus system/manager
SQL> @?/sqlplus/admin/help/helpbld.sql helpus.sql
瀹夎涔嬪悗錛屼綘灝卞彲浠ヨ薄濡備笅鐨勬柟娉曚嬌鐢ㄥ府鍔╀簡(jiǎn)
SQL> help index
[Q]鎬庝箞鏍峰揩閫熶笅杞絆racle琛ヤ竵
[A]鎴戜滑鍏堣幏寰椾笅杞芥湇鍔″櫒鍦板潃錛屽湪http欏甸潰涓婃湁
ftp://updates.oracle.com
鐒跺悗鐢╢tp鐧誨綍錛岀敤鎴峰悕涓庡瘑鐮佹槸metalink鐨勭敤鎴峰悕涓庡瘑鐮?br />濡傛垜浠煡閬撲簡(jiǎn)琛ヤ竵鍙?095277 (9204鐨勮ˉ涓侀泦)錛屽垯
ftp> cd 3095277
250 Changed directory OK.
ftp> ls
200 PORT command OK.
150 Opening data connection for file listing.
p3095277_9204_AIX64-5L.zip
p3095277_9204_AIX64.zip
鈥︹?br />p3095277_9204_WINNT.zip
226 Listing complete. Data connection has been closed.
ftp: 208 bytes received in 0.02Seconds 13.00Kbytes/sec.
ftp>
鐭ラ亾浜?jiǎn)杩欎釜淇℃伅锛屾垜浠敤鐢╢lashget錛岀綉緇滆殏铓佸氨鍙互涓嬭澆浜?jiǎn)銆?
娣誨姞濡備笅榪炴帴
ftp://updates.oracle.com/3095277/p3...04_AIX64-5L.zip
鎴栨浛鎹㈠悗闈㈢殑閮ㄥ垎涓烘墍闇瑕佺殑鍐呭
娉ㄦ剰錛屽鏋滄槸flashget錛岀綉緇滆殏铓佽杈撳叆璁よ瘉鐢ㄦ埛鍚嶅強(qiáng)瀵嗙爜錛屽氨鏄綘鐨刴etalink鐨勭敤鎴峰悕涓庡瘑鐮侊紒
[Q]濡備綍縐誨姩鏁版嵁鏂囦歡
[A]1銆佸叧闂暟鎹簱錛屽埄鐢╫s鎷瘋礉
a.shutdown immediate鍏抽棴鏁版嵁搴?br />b.鍦╫s涓嬫嫹璐濇暟鎹枃浠跺埌鏂扮殑鍦扮偣
c.Startup mount 鍚姩鍒癿ount涓?br />d.Alter database rename datafile '鑰佹枃浠? to '鏂版枃浠?;
e.Alter database open; 鎵撳紑鏁版嵁搴?br />2銆佸埄鐢≧man鑱旀満鎿嶄綔
RMAN> sql "alter database datafile ''file name'' offline";
RMAN> run {
2> copy datafile 'old file location'
3> to 'new file location';
4> switch datafile ' old file location'
5> to datafilecopy ' new file location';
6> }
RMAN> sql "alter database datafile ''file name'' online";
璇存槑錛氬埄鐢∣S鎷瘋礉涔熷彲浠ヨ仈鏈烘搷浣滐紝涓嶅叧闂暟鎹簱錛屼笌rman鐨勬楠や竴鏍鳳紝鍒╃敤rman涓庡埄鐢╫s鎷瘋礉鐨勫師鐞嗕竴鏍鳳紝鍦╮man涓璫opy鏄嫹璐濇暟鎹枃浠訛紝鐩稿綋浜嶰S鐨刢p錛岃宻witch鍒欑浉褰撲簬alter database rename錛岀敤鏉ユ洿鏂版帶鍒舵枃浠躲?br />[Q]濡傛灉綆$悊鑱旀満鏃ュ織緇勪笌鎴愬憳
[A]浠ヤ笅鏄父瑙佹搷浣滐紝濡傛灉鍦∣PA/RAC涓嬫敞鎰忕嚎紼嬪彿
澧炲姞涓涓棩蹇楁枃浠剁粍
Alter database add logfile [group n] '鏂囦歡鍏ㄥ悕' size 10M;
鍦ㄨ繖涓粍涓婂鍔犱竴涓垚鍛?br />Alter database add logfile member '鏂囦歡鍏ㄥ悕' to group n;
鍦ㄨ繖涓粍涓婂垹闄や竴涓棩蹇楁垚鍛?br />Alter database drop logfile member '鏂囦歡鍏ㄥ悕';
鍒犻櫎鏁翠釜鏃ュ織緇?br />Alter database drop logfile group n;
[Q]鎬庝箞鏍瘋綆桼EDO BLOCK鐨勫ぇ灝?/font>
[A]璁$畻鏂規(guī)硶涓?redo size + redo wastage) / redo blocks written + 16
鍏蜂綋瑙佸涓嬩緥瀛?br />SQL> select name ,value from v$sysstat where name like '%redo%';
NAME VALUE
---------------------------------------------------------------- ----------
redo synch writes 2
redo synch time 0
redo entries 76
redo size 19412
redo buffer allocation retries 0
redo wastage 5884
redo writer latching time 0
redo writes 22
redo blocks written 51
redo write time 0
redo log space requests 0
redo log space wait time 0
redo log switch interrupts 0
redo ordering marks 0
SQL> select (19412+5884)/51 + 16 '"Redo black(byte)" from dual;
Redo black(byte)
------------------
512
[Q]鎺у埗鏂囦歡鍖呭惈鍝簺鍩烘湰鍐呭
[A]鎺у埗鏂囦歡涓昏鍖呭惈濡備笅鏉$洰錛屽彲浠ラ氳繃dump鎺у埗鏂囦歡鍐呭鐪嬪埌
DATABASE ENTRY
CHECKPOINT PROGRESS RECORDS
REDO THREAD RECORDS
LOG FILE RECORDS
DATA FILE RECORDS
TEMP FILE RECORDS
TABLESPACE RECORDS
LOG FILE HISTORY RECORDS
OFFLINE RANGE RECORDS
ARCHIVED LOG RECORDS
BACKUP SET RECORDS
BACKUP PIECE RECORDS
BACKUP DATAFILE RECORDS
BACKUP LOG RECORDS
DATAFILE COPY RECORDS
BACKUP DATAFILE CORRUPTION RECORDS
DATAFILE COPY CORRUPTION RECORDS
DELETION RECORDS
PROXY COPY RECORDS
INCARNATION RECORDS
[Q]濡傛灉鍙戠幇琛ㄤ腑鏈夊潖鍧楋紝濡備綍媯(gè)绱㈠叾瀹冩湭鍧忕殑鏁版嵁
[A]棣栧厛闇瑕佹壘鍒板潖鍧楃殑ID錛堝彲浠ヨ繍琛宒bverify瀹炵幇錛夛紝鍋囪涓猴紝鍋囧畾鏂囦歡緙栫爜涓恒傝繍琛屼笅闈㈢殑鏌ヨ鏌ユ壘孌靛悕錛?
SELECT segment_name,segment_type,extent_id,block_id, blocks
from dba_extents t
where
file_id =
AND between block_id and (block_id + blocks - 1)
涓鏃︽壘鍒板潖孌靛悕縐幫紝鑻ユ鏄竴涓〃錛屽垯鏈濂藉緩绔嬩竴涓復(fù)鏃惰〃錛屽瓨鏀懼ソ鐨勬暟鎹傝嫢孌墊槸绱㈠紩錛屽垯鍒犻櫎瀹冿紝鍐嶉噸寤恒?br />create table good_table
as
select from bad_table where rowid not in
(select rowid
from bad_table where substr(rowid,10,6) = )
鍦ㄨ繖閲岃娉ㄦ剰8浠ュ墠鐨勫彈闄怰OWID涓庣幇鍦≧OWID鐨勫樊鍒?br />榪樺彲浠ヤ嬌鐢ㄨ瘖鏂簨浠?0231
SQL> ALTER SYSTEM SET EVENTS '10231 trace name context forever,level 10';
鍒涘緩涓涓復(fù)鏃惰〃good_table鐨勮〃涓櫎鍧忓潡鐨勬暟鎹兘媯(gè)绱㈠嚭鏉?br />SQL>CREATE TABLE good_table as select * from bad_table;
鏈鍚庡叧闂瘖鏂簨浠?br />SQL> ALTER SYSTEM SET EVENTS '10231 trace name context off ';
鍏充簬ROWID鐨勭粨鏋勶紝榪樺彲浠ュ弬鑰僤bms_rowid.rowid_create鍑芥暟銆?br />[Q]鎴戝垱寤轟簡(jiǎn)鏁版嵁搴撶殑鎵鏈夌敤鎴鳳紝鎴戝彲浠ュ垹闄よ繖浜涚敤鎴峰悧
[A]ORACLE鏁版嵁搴撳垱寤虹殑鏃跺欙紝鍒涘緩浜?jiǎn)涓緋誨垪榛樿鐨勭敤鎴峰拰琛ㄧ┖闂達(dá)紝浠ヤ笅鏄粬浠殑鍒楄〃
路SYS/CHANGE_ON_INSTALL or INTERNAL
緋葷粺鐢ㄦ埛錛屾暟鎹瓧鍏告墍鏈夎咃紝瓚呯駭鏉冮檺鎵鏈夎?SYSDBA)
鍒涘緩鑴氭湰錛?/rdbms/admin/sql.bsq and various cat*.sql
寤鴻鍒涘緩鍚庣珛鍗充慨鏀瑰瘑鐮?br />姝ょ敤鎴蜂笉鑳借鍒犻櫎
路SYSTEM/MANAGER
鏁版嵁搴撻粯璁ょ鐞嗙敤鎴鳳紝鎷ユ湁DBA瑙掕壊鏉冮檺
鍒涘緩鑴氭湰錛?/rdbms/admin/sql.bsq
寤鴻鍒涘緩鍚庣珛鍗充慨鏀瑰瘑鐮?br />姝ょ敤鎴蜂笉鑳借鍒犻櫎
路OUTLN/OUTLN
浼樺寲璁″垝鐨勫瓨鍌ㄥぇ綰茬敤鎴?br />鍒涘緩鑴氭湰錛?/rdbms/admin/sql.bsq
寤鴻鍒涘緩鍚庣珛鍗充慨鏀瑰瘑鐮?br />姝ょ敤鎴蜂笉鑳借鍒犻櫎
---------------------------------------------------
路SCOTT/TIGER, ADAMS/WOOD, JONES/STEEL, CLARK/CLOTH and BLAKE/PAPER.
瀹為獙銆佹祴璇曠敤鎴鳳紝鍚湁渚嬭〃EMP涓嶥EPT
鍒涘緩鑴氭湰錛?/rdbms/admin/utlsampl.sql
鍙互淇敼瀵嗙爜
鐢ㄦ埛鍙互琚垹闄わ紝鍦ㄤ駭鍝佺幆澧冨緩璁垹闄ゆ垨閿佸畾
路HR/HR (Human Resources), OE/OE (Order Entry), SH/SH (Sales History).
瀹為獙銆佹祴璇曠敤鎴鳳紝鍚湁渚嬭〃EMPLOYEES涓嶥EPARTMENTS
鍒涘緩鑴氭湰錛?/demo/schema/mksample.sql
鍙互淇敼瀵嗙爜
鐢ㄦ埛鍙互琚垹闄わ紝鍦ㄤ駭鍝佺幆澧冨緩璁垹闄ゆ垨閿佸畾
路DBSNMP/DBSNMP
Oracle Intelligent agent
鍒涘緩鑴氭湰錛?/rdbms/admin/catsnmp.sql, called from catalog.sql
鍙互鏀瑰彉瀵嗙爜--闇瑕佹斁緗柊瀵嗙爜鍒皊nmp_rw.ora鏂囦歡
濡傛灉涓嶉渶瑕両ntelligent Agents錛屽彲浠ュ垹闄?br />---------------------------------------------------
浠ヤ笅鐢ㄦ埛閮芥槸鍙夊畨瑁呯敤鎴?濡傛灉涓嶉渶瑕侊紝灝變笉闇瑕佸畨瑁?br />路CTXSYS/CTXSYS
Oracle interMedia (ConText Cartridge)綆$悊鐢ㄦ埛
鍒涘緩鑴氭湰錛?/ctx/admin/dr0csys.sql
路TRACESVR/TRACE
Oracle Trace server
鍒涘緩鑴氭湰錛?/rdbms/admin/otrcsvr.sql
路ORDPLUGINS/ORDPLUGINS
Object Relational Data (ORD) User used by Time Series, etc.
鍒涘緩鑴氭湰錛?/ord/admin/ordinst.sql
路ORDSYS/ORDSYS
Object Relational Data (ORD) User used by Time Series, etc
鍒涘緩鑴氭湰錛?/ord/admin/ordinst.sql
路DSSYS/DSSYS
Oracle Dynamic Services and Syndication Server
鍒涘緩鑴氭湰錛?/ds/sql/dssys_init.sql
路MDSYS/MDSYS
Oracle Spatial administrator user
鍒涘緩鑴氭湰錛?/ord/admin/ordinst.sql
路AURORA$ORB$UNAUTHENTICATED/INVALID
Used for users who do not authenticate in Aurora/ORB
鍒涘緩鑴氭湰錛?/javavm/install/init_orb.sql called from ?/javavm/install/initjvm.sql
路PERFSTAT/PERFSTAT
Oracle Statistics Package (STATSPACK) that supersedes UTLBSTAT/UTLESTAT
鍒涘緩鑴氭湰錛?/rdbms/admin/statscre.sql



]]>
ORACLE涔嬪父鐢‵AQ V1.0 (3) 絎笁閮ㄥ垎銆佸浠戒笌鎭㈠http://m.shnenglu.com/ivenher/articles/13152.html鐖遍キ鐩?/dc:creator>鐖遍キ鐩?/author>Fri, 29 Sep 2006 09:24:00 GMThttp://m.shnenglu.com/ivenher/articles/13152.htmlhttp://m.shnenglu.com/ivenher/comments/13152.htmlhttp://m.shnenglu.com/ivenher/articles/13152.html#Feedback0http://m.shnenglu.com/ivenher/comments/commentRss/13152.htmlhttp://m.shnenglu.com/ivenher/services/trackbacks/13152.html 絎笁閮ㄥ垎銆佸浠戒笌鎭㈠
[Q]濡備綍寮鍚?鍏抽棴褰掓。
[A]濡傛灉寮鍚綊妗o紝璇蜂繚璇乴og_archive_start=true寮鍚嚜鍔ㄥ綊妗o紝鍚﹀垯鍙兘鎵嬪伐褰掓。錛屽鏋滄槸鍏抽棴浜?jiǎn)褰掓。锛屽垯璁揪|鍙傛暟涓篺alse
娉ㄦ剰錛氬鏋滄槸OPS/RAC鐜錛岄渶瑕佸厛鎶妏arallel_server = true娉ㄩ噴鎺夛紝鐒跺悗鎵ц濡備笅姝ラ錛屾渶鍚庣敤榪欎釜鍙傛暟閲嶆柊鍚姩
1銆佸紑鍚綊妗?br />a. 鍏抽棴鏁版嵁搴搒hutdown immediate
b. startup mount
c. alter database archivelog
d. alter database opne
2銆佺姝㈠綊妗?br />a. 鍏抽棴鏁版嵁搴搒hutdown immediate
b. startup mount
c. alter database noarchivelog
d. alter database open
褰掓。淇℃伅鍙互閫氳繃濡備笅璇彞鏌ョ湅
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination E:\oracle\ora92\database\archive
Oldest online log sequence 131
Next log sequence to archive 133
Current log sequence 133
[Q]鎬庢牱璁劇疆瀹氭椂褰掓。
[A]9i浠ヤ笂鐗堟湰錛屼繚璇佸綊妗g殑鏈灝忛棿闅斾笉瓚呰繃n縐?br />璁劇疆Archive_lag_target = n
鍗曚綅錛氱 鑼冨洿錛?~7200
[Q]涓嶅悓鐗堟湰鎬庝箞瀵煎嚭/瀵煎叆
[A]瀵煎嚭鐢ㄤ綆鐗堟湰錛屽鍏ョ敤褰撳墠鐗堟湰
濡傛灉鐗堟湰璺ㄨ秺澶ぇ錛岄渶瑕佺敤鍒頒腑闂寸増鏈繃娓?br />[Q]涓嶅悓鐨勫瓧絎﹂泦涔嬪墠鎬庝箞瀵兼暟鎹?/font>
[A]a.鍓嶆潯浠舵槸淇濊瘉瀵煎嚭/瀵煎叆絎﹀悎鍏朵粬瀛楃闆嗘爣鍑嗭紝濡傚鎴風(fēng)幆澧冧笌鏁版嵁搴撳瓧絎﹂泦涓鑷淬?br />b.淇敼dmp鏂囦歡鐨?銆?瀛楄妭涓虹洰鏍囨暟鎹簱鐨勫瓧絎﹂泦錛屾敞鎰忚鎹㈡垚鍗佸叚榪涘埗銆?br />鍙傝冨嚱鏁幫紙浠ヤ笅鍑芥暟涓殑ID鏄崄榪涘埗鐨勶級(jí)錛?br />nls_charset_name 鏍規(guī)嵁瀛楃闆咺D鑾峰緱瀛楃闆嗗悕縐?br />nls_charset_id 鏍規(guī)嵁瀛楃闆嗗悕縐拌幏寰楀瓧絎﹂泦ID
[Q]鎬庝箞鏍峰浠芥帶鍒舵枃浠?/font>
[A]鍐嶇嚎澶囦喚涓轟竴涓簩榪涘埗鐨勬枃浠?br />alter database backup controlfile to '$BACKUP_DEPT/controlfile.000' [reuse];
澶囦喚涓烘枃鏈枃浠舵柟寮?br />alter database backup controlfile to trace [resetlogs|noresetlogs];
[Q]鎺у埗鏂囦歡鎹熷潖濡備綍鎭㈠
[A]1銆佸鏋滄槸鎹熷潖鍗曚釜鎺у埗鏂囦歡
鍙渶瑕佸叧闂暟鎹簱錛屾嫹璐濅竴涓ソ鐨勬暟鎹枃浠惰鐩栨帀鍧忕殑鏁版嵁鏂囦歡鍗沖彲
鎴栬呮槸淇敼init.ora鏂囦歡鐨勭浉鍏抽儴鍒?br />2銆佸鏋滄槸鎹熷け鍏ㄩ儴鎺у埗鏂囦歡錛屽垯闇瑕佸垱寤烘帶鍒舵枃浠舵垨浠庡浠芥仮澶?br />鍒涘緩鎺у埗鏂囦歡鐨勮剼鏈彲浠ラ氳繃alter database backup controlfile to trace鑾峰彇銆?br />[Q]鎬庝箞鏍風(fēng)儹澶囦喚涓涓〃絀洪棿
[A]Alter tablespace 鍚嶇О begin backup;
host cp 榪欎釜琛ㄧ┖闂寸殑鏁版嵁鏂囦歡 鐩殑鍦?
Alter tablespace 鍚嶇О end backup;
濡傛灉鏄浠藉涓〃絀洪棿鎴栨暣涓暟鎹簱錛屽彧闇瑕佷竴涓竴涓〃絀洪棿鐨勬搷浣滀笅鏉ュ氨鍙互浜?jiǎn)銆?br />[Q]鎬庝箞蹇熷緱鍒版暣涓暟鎹簱鐨勭儹澶囪剼鏈?/font>
[A]鍙互鍐欎竴孌電被浼肩殑鑴氭湰
SQL>set serveroutput on
begin
dbms_output.enable(10000);
for bk_ts in (select distinct t.ts#,t.name from v$tablespace t,v$datafile d where t.ts#=d.ts#) loop
dbms_output.put_line('--'||bk_ts.name);
dbms_output.put_line('alter tablespace '||bk_ts.name||' begin backup;');
for bk_file in (select file#,name from v$datafile where ts#=bk_ts.ts#) loop
dbms_output.put_line('host cp '||bk_file.name||' $BACKUP_DEPT/');
end loop;
dbms_output.put_line('alter tablespace '||bk_ts.name||' end backup;');
end loop;
end;
/
[Q]涓㈠け涓涓暟鎹枃浠訛紝浣嗘槸娌℃湁澶囦喚錛屾庝箞鏍鋒墦寮鏁版嵁搴?/font>
[A]濡傛灉娌℃湁澶囦喚鍙兘鏄垹闄よ繖涓暟鎹枃浠朵簡(jiǎn)錛屼細(xì)瀵艱嚧鐩稿簲鐨勬暟鎹涪澶便?br />SQL>startup mount
--ARCHIVELOG妯″紡鍛戒護(hù)
SQL>Alter database datafile 'file name' offline;
--NOARCHIVELOG妯″紡鍛戒護(hù)
SQL>Alter database datafile 'file name' offline drop;
SQLl>Alter database open;
娉ㄦ剰錛氳鏁版嵁鏂囦歡涓嶈兘鏄郴緇熸暟鎹枃浠?br />[Q]涓㈠け涓涓暟鎹枃浠訛紝娌℃湁澶囦喚浣嗘槸鏈夎鏁版嵁鏂囦歡鍒涘緩浠ユ潵鐨勫綊妗f庝箞鎭㈠
[A]淇濊瘉濡備笅鏉′歡
a. 涓嶈兘鏄郴緇熸暟鎹枃浠?br />b. 涓嶈兘涓㈠け鎺у埗鏂囦歡
濡傛灉婊¤凍浠ヤ笂鏉′歡錛屽垯
SQL>startup mount
SQL>Alter database create datafile 'file name' as 'file name' size ... reuse;
SQL>recover datafile n; -鏂囦歡鍙?br />鎴栬?br />SQL>recover datafile 'file name';
鎴栬?br />SQL>recover database;
SQL>Alter database open;
[Q]鑱旀満鏃ュ織鎹熷潖濡備綍鎭㈠
[A]1銆佸鏋滄槸闈炲綋鍓嶆棩蹇楄屼笖褰掓。錛屽彲浠ヤ嬌鐢?br />Alter database clear logfile group n鏉ュ垱寤轟竴涓柊鐨勬棩蹇楁枃浠?br />濡傛灉璇ユ棩蹇楄繕娌℃湁褰掓。錛屽垯闇瑕佺敤
Alter database clear unarchived logfile group n
2銆佸鏋滄槸褰撳墠鏃ュ織鎹熷潖錛屼竴鑸笉鑳絚lear錛屽垯鍙兘鎰忓懗鐫涓㈠け鏁版嵁
濡傛灉鏈夊浠斤紝鍙互閲囩敤澶囦喚榪涜涓嶅畬鍏ㄦ仮澶?br />濡傛灉娌℃湁澶囦喚錛屽彲鑳藉彧鑳界敤_allow_resetlogs_corruption=true鏉ヨ繘琛屽己鍒舵仮澶嶄簡(jiǎn)錛屼絾鏄紝榪欐牱鐨勬柟娉曟槸涓嶅緩璁殑錛屾渶濂藉湪鏈塐racle support鐨勬寚瀵間笅榪涜銆?br />[Q]鎬庝箞鏍峰垱寤篟MAN鎭㈠鐩綍
[A]棣栧厛錛屽垱寤轟竴涓暟鎹簱鐢ㄦ埛錛屼竴鑸兘鏄疪MAN錛屽茍緇欎簣recovery_catalog_owner瑙掕壊鏉冮檺
sqlplus sys
SQL> create user rman identified by rman;
SQL> alter user rman default tablespace tools temporary tablespace temp;
SQL> alter user rman quota unlimited on tools;
SQL> grant connect, resource, recovery_catalog_owner to rman;
SQL> exit;
鐒跺悗錛岀敤榪欎釜鐢ㄦ埛鐧誨綍錛屽垱寤烘仮澶嶇洰褰?br />rman catalog rman/rman
RMAN> create catalog tablespace tools;
RMAN> exit;
鏈鍚庯紝浣犲彲浠ュ湪鎭㈠鐩綍娉ㄥ唽鐩爣鏁版嵁搴撲簡(jiǎn)
rman catalog rman/rman target backdba/backdba
RMAN> register database;
[Q]鎬庝箞鏍峰湪鎭㈠鐨勬椂鍊欑Щ鍔ㄦ暟鎹枃浠訛紝鎭㈠鍒板埆鐨勫湴鐐?/font>
[A]緇欎竴涓猂MAN鐨勪緥瀛?br />run {
set until time 'Jul 01 1999 00:05:00';
allocate channel d1 type disk;
set newname for datafile '/u04/oracle/prod/sys1prod.dbf'
to '/u02/oracle/prod/sys1prod.dbf';
set newname for datafile '/u04/oracle/prod/usr1prod.dbf'
to '/u02/oracle/prod/usr1prod.dbf';
set newname for datafile '/u04/oracle/prod/tmp1prod.dbf'
to '/u02/oracle/prod/tmp1prod.dbf';
restore controlfile to '/u02/oracle/prod/ctl1prod.ora';
replicate controlfile from '/u02/oracle/prod/ctl1prod.ora';
restore database;
sql "alter database mount";
switch datafile all;
recover database;
sql "alter database open resetlogs";
release channel d1;
}
[Q]鎬庝箞浠庡浠界墖錛坆ackuppiece錛変腑鎭㈠(restore)鎺у埗鏂囦歡涓庢暟鎹枃浠?/font>
[A]鍙互浣跨敤濡備笅鏂規(guī)硶錛屽湪RMAN涓仮澶嶅浠界墖鐨勬帶鍒舵枃浠?br />restore controlfile from backuppiecefile;
濡傛灉鏄?i鐨勮嚜鍔ㄥ浠斤紝鍙互閲囩敤濡備笅鐨勬柟娉?
restore controlfile from autobackup;
浣嗘槸錛屽鏋滄帶鍒舵枃浠跺叏閮ㄤ涪澶憋紝闇瑕佹寚瀹欴BID錛屽SET DBID=?
鑷姩澶囦喚鎺у埗鏂囦歡鐨勯粯璁ゆ牸寮忔槸%F錛岃繖涓牸寮忕殑褰㈠紡涓?
c-IIIIIIIIII-YYYYMMDD-QQ錛屽叾涓璉IIIIIIIII灝辨槸DBID
鑷充簬鎭㈠(restore)鏁版嵁鏂囦歡錛宱racle 816寮濮嬫湁涓寘dbms_backup_restore
鍦?nomount 鐘舵佷笅灝卞彲浠ユ墽琛岋紝鍙互璇?815鐢氳嚦涔嬪墠鐨勫浠界墖錛岃鍑烘潵鐨勬枃浠剁敤浜庢仮澶?
鍙互鍦⊿QLPLUS涓繍琛岋紝濡備笅
SQL>startup nomount
SQL> DECLARE
2 devtype varchar2(256);
3 done boolean;
4 BEGIN
5 devtype := dbms_backup_restore.deviceallocate('', params=>'');
6 dbms_backup_restore.restoresetdatafile;
7 dbms_backup_restore.restorecontrolfileto('E:\Oracle\oradata\penny\control01.ctl');
8 dbms_backup_restore.restoreDataFileto(1,'E:\Oracle\oradata\penny\system01.dbf');
9 dbms_backup_restore.restoreDataFileto(2,'E:\Oracle\oradata\penny\UNDOTBS01.DBF');
10 dbms_backup_restore.restoreDataFileto(3,'E:\ORACLE\ORADATA\PENNY\USERS01.DBF');
11 dbms_backup_restore.restorebackuppiece('D:\orabak\BACKUP_1_4_04F4IAJT.PENNY',done=>done);
12 END;
13 /
PL/SQL 榪囩▼宸叉垚鍔熷畬鎴愩?
SQL> alter database mount;
[Q]Rman鐨刦ormat鏍煎紡涓殑%s綾諱技鐨勪笢瑗夸唬琛ㄤ粈涔堟剰涔?/font>
[A]鍙互鍙傝冨涓?br />%c 澶囦喚鐗囩殑鎷瘋礉鏁?
%d 鏁版嵁搴撳悕縐?
%D 浣嶄簬璇ユ湀涓殑絎嚑澶?(DD)
%M 浣嶄簬璇ュ勾涓殑絎嚑鏈?(MM)
%F 涓涓熀浜嶥BID鍞竴鐨勫悕縐?榪欎釜鏍煎紡鐨勫艦寮忎負(fù)c-IIIIIIIIII-YYYYMMDD-QQ,鍏朵腑IIIIIIIIII涓鴻鏁版嵁搴撶殑DBID錛孻YYYMMDD涓烘棩鏈燂紝QQ鏄竴涓?-256鐨勫簭鍒?
%n 鏁版嵁搴撳悕縐幫紝鍚戝彸濉ˉ鍒版渶澶у叓涓瓧絎?
%u 涓涓叓涓瓧絎︾殑鍚嶇О浠h〃澶囦喚闆嗕笌鍒涘緩鏃墮棿
%p 璇ュ浠介泦涓殑澶囦喚鐗囧彿錛屼粠1寮濮嬪埌鍒涘緩鐨勬枃浠舵暟
%U 涓涓敮涓鐨勬枃浠跺悕錛屼唬琛?u_%p_%c
%s 澶囦喚闆嗙殑鍙?
%t 澶囦喚闆嗘椂闂存埑
%T 騫存湀鏃ユ牸寮?YYYYMMDD)
[Q]鎵цexec dbms_logmnr_d.build('Logminer.ora','file directory')錛屾彁紺轟笅鏍囪秴鐣岋紝鎬庝箞鍔?/font>
[A]瀹屾暣閿欒淇℃伅濡備笅,
SQL> exec dbms_logmnr_d.build('Logminer.ora','file directory')
BEGIN dbms_logmnr_d.build('Logminer.ora','file directory'); END;
*
ERROR 浣嶄簬絎?1 琛?
ORA-06532: 涓嬫爣瓚呭嚭闄愬埗
ORA-06512: 鍦?SYS.DBMS_LOGMNR_D", line 793
ORA-06512: 鍦╨ine 1
瑙e喅鍔炴硶涓猴細(xì)
1.緙栬緫浣嶄簬"$ORACLE_HOME/rdbms/admin"鐩綍涓嬬殑鏂囦歡"dbmslmd.sql"
鏀瑰彉琛?
TYPE col_desc_array IS VARRAY(513) OF col_description;
涓?br />TYPE col_desc_array IS VARRAY(700) OF col_description;
騫朵繚瀛樻枃浠?br />2. 榪愯鏀瑰彉鍚庣殑鑴氭湰
SQLPLUS> Connect internal
SQLPLUS> @$ORACLE_HOME/rdbms/admin/dbmslmd.sql
3.閲嶆柊緙栬瘧璇ュ寘
SQLPLUS> alter package DBMS_LOGMNR_D compile body;
[Q]鎵цexecute dbms_logmnr.start_logmnr(DictFileName=>'DictFileName')鎻愮ずORA-01843:鏃犳晥鐨勬湀浠斤紝榪欎釜鏄粈涔堝師鍥?/font>
[A]鎴戜滑鍒嗘瀽start_logmnr鍖?br />PROCEDURE start_logmnr(
startScn IN NUMBER default 0 ,
endScn IN NUMBER default 0,
startTime IN DATE default TO_DATE('01-jan-1988','DD-MON-YYYY'),
endTime IN DATE default TO_DATE('01-jan-2988','DD-MON-YYYY'),
DictFileName IN VARCHAR2 default '',
Options IN BINARY_INTEGER default 0 );
鍙互鐭ラ亾錛屽鏋淭O_DATE('01-jan-1988','DD-MON-YYYY')澶辮觸錛屽皢瀵艱嚧浠ヤ笂閿欒
鎵浠ヨВ鍐沖姙娉曞彲浠ヤ負(fù)
1銆丄lter session set NLS_LANGUAGE=American
2銆佺敤綾諱技濡備笅鐨勬柟娉曟墽琛?br />execute dbms_logmnr.start_logmnr (DictFileName=> 'f:\temp2\TESTDICT.ora', starttime => TO_DATE(
'01-01-1988','DD-MM-YYYY'), endTime=>TO_DATE('01-01-2988','DD-MM-YYYY'));



]]>
ORACLE涔嬪父鐢‵AQ V1.0 (1) 絎竴閮ㄥ垎銆丼QL&PL/SQLhttp://m.shnenglu.com/ivenher/articles/13149.html鐖遍キ鐩?/dc:creator>鐖遍キ鐩?/author>Fri, 29 Sep 2006 09:22:00 GMThttp://m.shnenglu.com/ivenher/articles/13149.htmlhttp://m.shnenglu.com/ivenher/comments/13149.htmlhttp://m.shnenglu.com/ivenher/articles/13149.html#Feedback0http://m.shnenglu.com/ivenher/comments/commentRss/13149.htmlhttp://m.shnenglu.com/ivenher/services/trackbacks/13149.html 絎竴閮ㄥ垎銆丼QL&PL/SQL

[Q]鎬庝箞鏍鋒煡璇㈢壒孌婂瓧絎︼紝濡傞氶厤絎?涓巁
[A]select * from table where name like 'A\_%' escape '\'
[Q]濡備綍鎻掑叆鍗曞紩鍙峰埌鏁版嵁搴撹〃涓?/font>
[A]鍙互鐢ˋSCII鐮佸鐞嗭紝鍏跺畠鐗規(guī)畩瀛楃濡?amp;涔熶竴鏍鳳紝濡?
insert into t values('i'||chr(39)||'m'); -- chr(39)浠h〃瀛楃'
鎴栬呯敤涓や釜鍗曞紩鍙瘋〃紺轟竴涓?br />or insert into t values('I''m'); -- 涓や釜''鍙互琛ㄧず涓涓?
[Q]鎬庢牱璁劇疆浜嬪姟涓鑷存?/font>
[A]set transaction [isolation level] read committed; 榛樿璇彞綰т竴鑷存?br />set transaction [isolation level] serializable;
read only; 浜嬪姟綰т竴鑷存?br />[Q]鎬庝箞鏍峰埄鐢ㄦ父鏍囨洿鏂版暟鎹?/font>
[A]cursor c1 is
select * from tablename
where name is null for update [of column]
鈥︹?br />update tablename set column = 鈥︹?br />where current of c1;
[Q]鎬庢牱鑷畾涔夊紓甯?/font>
[A] pragma_exception_init(exception_name,error_number);
濡傛灉绔嬪嵆鎶涘嚭寮傚父
raise_application_error(error_number,error_msg,true|false);
鍏朵腑number浠?20000鍒?20999錛岄敊璇俊鎭渶澶?048B
寮傚父鍙橀噺
SQLCODE 閿欒浠g爜
SQLERRM 閿欒淇℃伅
[Q]鍗佽繘鍒朵笌鍗佸叚榪涘埗鐨勮漿鎹?/font>
[A]8i浠ヤ笂鐗堟湰錛?br />to_char(100,'XX')
to_number('4D','XX')
8i浠ヤ笅鐨勮繘鍒朵箣闂寸殑杞崲鍙傝冨涓嬭剼鏈?br />create or replace function to_base( p_dec in number, p_base in number )
return varchar2
is
l_str varchar2(255) default NULL;
l_num number default p_dec;
l_hex varchar2(16) default '0123456789ABCDEF';
begin
if ( p_dec is null or p_base is null ) then
return null;
end if;
if ( trunc(p_dec) p_dec OR p_dec 20;
[Q]鎬庝箞鏍鋒娊鍙栭噸澶嶈褰?/font>
[A]select * from table t1 where where t1.rowed !=
(select max(rowed) from table t2
where t1.id=t2.id and t1.name=t2.name)
鎴栬?br />select count(*), t.col_a,t.col_b from table t
group by col_a,col_b
having count(*)>1
濡傛灉鎯沖垹闄ら噸澶嶈褰曪紝鍙互鎶婄涓涓鍙ョ殑select鏇挎崲涓篸elete
[Q]鎬庝箞鏍瘋緗嚜娌諱簨鍔?/font>
[A]8i浠ヤ笂鐗堟湰錛屼笉褰卞搷涓諱簨鍔?br />pragma autonomous_transaction;
鈥︹?br />commit|rollback;
[Q]鎬庝箞鏍峰湪榪囩▼涓殏鍋滄寚瀹氭椂闂?/font>
[A]DBMS_LOCK鍖呯殑sleep榪囩▼
濡傦細(xì)dbms_lock.sleep(5);琛ㄧず鏆傚仠5縐掋?br />[Q]鎬庝箞鏍峰揩閫熻綆椾簨鍔$殑鏃墮棿涓庢棩蹇楅噺
[A]鍙互閲囩敤綾諱技濡備笅鐨勮剼鏈?br />DECLARE
start_time NUMBER;
end_time NUMBER;
start_redo_size NUMBER;
end_redo_size NUMBER;
BEGIN
start_time := dbms_utility.get_time;
SELECT VALUE INTO start_redo_size FROM v$mystat m,v$statname s
WHERE m.STATISTIC#=s.STATISTIC#
AND s.NAME='redo size';
--transaction start
INSERT INTO t1
SELECT * FROM All_Objects;
--other dml statement
COMMIT;
end_time := dbms_utility.get_time;
SELECT VALUE INTO end_redo_size FROM v$mystat m,v$statname s
WHERE m.STATISTIC#=s.STATISTIC#
AND s.NAME='redo size';
dbms_output.put_line('Escape Time:'||to_char(end_time-start_time)||' centiseconds');
dbms_output.put_line('Redo Size:'||to_char(end_redo_size-start_redo_size)||' bytes');
END;
[Q]鎬庢牱鍒涘緩涓存椂琛?/font>
[A]8i浠ヤ笂鐗堟湰
create global temporary tablename(column list)
on commit preserve rows; --鎻愪氦淇濈暀鏁版嵁 浼?xì)璇濅复鏃惰?br />on commit delete rows; --鎻愪氦鍒犻櫎鏁版嵁 浜嬪姟涓存椂琛?br />涓存椂琛ㄦ槸鐩稿浜庝細(xì)璇濈殑錛屽埆鐨勪細(xì)璇濈湅涓嶅埌璇ヤ細(xì)璇濈殑鏁版嵁銆?br />[Q]鎬庝箞鏍峰湪PL/SQL涓墽琛孌DL璇彞
[A]1銆?i浠ヤ笅鐗堟湰dbms_sql鍖?br />2銆?i浠ヤ笂鐗堟湰榪樺彲浠ョ敤
execute immediate sql;
dbms_utility.exec_ddl_statement('sql');
[Q]鎬庝箞鏍瘋幏鍙朓P鍦板潃
[A]鏈嶅姟鍣?817浠ヤ笂)錛歶tl_inaddr.get_host_address
瀹㈡埛绔細(xì)sys_context('userenv','ip_address')
[Q]鎬庝箞鏍峰姞瀵嗗瓨鍌ㄨ繃紼?/font>
[A]鐢╳rap鍛戒護(hù)錛屽錛堝亣瀹氫綘鐨勫瓨鍌ㄨ繃紼嬩繚瀛樹負(fù)a.sql錛?br />wrap iname=a.sql
PL/SQL Wrapper: Release 8.1.7.0.0 - Production on Tue Nov 27 22:26:48 2001
Copyright (c) Oracle Corporation 1993, 2000. All Rights Reserved.
Processing a.sql to a.plb
鎻愮ずa.sql杞崲涓篴.plb錛岃繖灝辨槸鍔犲瘑浜?jiǎn)鐨勮剼鏈Q屾墽琛宎.plb鍗沖彲鐢熸垚鍔犲瘑浜?jiǎn)鐨勫瓨鍌q囩▼
[Q]鎬庝箞鏍峰湪ORACLE涓畾鏃惰繍琛屽瓨鍌ㄨ繃紼?/font>
[A]鍙互鍒╃敤dbms_job鍖呮潵瀹氭椂榪愯浣滀笟錛屽鎵ц瀛樺偍榪囩▼錛屼竴涓畝鍗曠殑渚嬪瓙錛屾彁浜や竴涓綔涓氾細(xì)
VARIABLE jobno number;
BEGIN
DBMS_JOB.SUBMIT(:jobno, 'ur_procedure;',SYSDATE,'SYSDATE + 1');
commit;
END;
涔嬪悗錛屽氨鍙互鐢ㄤ互涓嬭鍙ユ煡璇㈠凡緇忔彁浜ょ殑浣滀笟
select * from user_jobs;
[Q]鎬庝箞鏍蜂粠鏁版嵁搴撲腑鑾峰緱姣
[A]9i浠ヤ笂鐗堟湰錛屾湁涓涓猼imestamp綾誨瀷鑾峰緱姣錛屽
SQL>select to_char(systimestamp,'yyyy-mm-dd hh24:mi:ssxff') time1,
to_char(current_timestamp) time2 from dual;
TIME1 TIME2
----------------------------- ----------------------------------------------------------------
2003-10-24 10:48:45.656000 24-OCT-03 10.48.45.656000 AM +08:00
鍙互鐪嬪埌錛屾縐掑湪to_char涓搴旂殑鏄疐F銆?br />8i浠ヤ笂鐗堟湰鍙互鍒涘緩涓涓涓嬬殑java鍑芥暟
SQL>create or replace and compile
java source
named "MyTimestamp"
as
import java.lang.String;
import java.sql.Timestamp;
public class MyTimestamp
{
public static String getTimestamp()
{
return(new Timestamp(System.currentTimeMillis())).toString();
}
};
SQL>java created.
娉細(xì)娉ㄦ剰java鐨勮娉曪紝娉ㄦ剰澶у皬鍐?br />SQL>create or replace function my_timestamp return varchar2
as language java
name 'MyTimestamp.getTimestamp() return java.lang.String';
/
SQL>function created.
SQL>select my_timestamp,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') ORACLE_TIME from dual;
MY_TIMESTAMP ORACLE_TIME
------------------------ -------------------
2003-03-17 19:15:59.688 2003-03-17 19:15:59
濡傛灉鍙兂鑾峰緱1/100縐?hsecs)錛岃繕鍙互鍒╃敤dbms_utility.get_time
[Q]濡傛灉瀛樺湪灝辨洿鏂幫紝涓嶅瓨鍦ㄥ氨鎻掑叆鍙互鐢ㄤ竴涓鍙ュ疄鐜板悧
[A]9i宸茬粡鏀寔浜?jiǎn)锛屾槸Merge錛屼絾鏄彧鏀寔select瀛愭煡璇紝
濡傛灉鏄崟鏉℃暟鎹褰曪紝鍙互鍐欎綔select 鈥︹?from dual鐨勫瓙鏌ヨ銆?br />璇硶涓猴細(xì)
MERGE INTO table
USING data_source
ON (condition)
WHEN MATCHED THEN update_clause
WHEN NOT MATCHED THEN insert_clause;
濡?br />MERGE INTO course c
USING (SELECT course_name, period,
course_hours
FROM course_updates) cu
ON (c.course_name = cu.course_name
AND c.period = cu.period)
WHEN MATCHED THEN
UPDATE
SET c.course_hours = cu.course_hours
WHEN NOT MATCHED THEN
INSERT (c.course_name, c.period,
c.course_hours)
VALUES (cu.course_name, cu.period,
cu.course_hours);
[Q]鎬庝箞瀹炵幇宸﹁仈錛屽彸鑱斾笌澶栬仈
[A]鍦?i浠ュ墠鍙互榪欎箞鍐?
宸﹁仈錛?br />select a.id,a.name,b.address from a,b
where a.id=b.id(+)
鍙寵仈:
select a.id,a.name,b.address from a,b
where a.id(+)=b.id
澶栬仈
SELECT a.id,a.name,b.address
FROM a,b
WHERE a.id = b.id(+)
UNION
SELECT b.id,'' name,b.address
FROM b
WHERE NOT EXISTS (
SELECT * FROM a
WHERE a.id = b.id);
鍦?i浠ヤ笂錛屽凡緇忓紑濮嬫敮鎸丼QL99鏍囧噯錛屾墍浠ワ紝浠ヤ笂璇彞鍙互鍐欐垚錛?br />榛樿鍐呴儴鑱旂粨錛?br />select a.id,a.name,b.address,c.subject
from (a inner join b on a.id=b.id)
inner join c on b.name = c.name
where other_clause
宸﹁仈
select a.id,a.name,b.address
from a left outer join b on a.id=b.id
where other_clause
鍙寵仈
select a.id,a.name,b.address
from a right outer join b on a.id=b.id
where other_clause
澶栬仈
select a.id,a.name,b.address
from a full outer join b on a.id=b.id
where other_clause
or
select a.id,a.name,b.address
from a full outer join b using (id)
where other_clause
[Q]鎬庝箞瀹炵幇涓鏉¤褰曟牴鎹潯浠跺琛ㄦ彃鍏?/font>
[A]9i浠ヤ笂鍙互閫氳繃Insert all璇彞瀹屾垚錛屼粎浠呮槸涓涓鍙ワ紝濡傦細(xì)
INSERT ALL
WHEN (id=1) THEN
INTO table_1 (id, name)
values(id,name)
WHEN (id=2) THEN
INTO table_2 (id, name)
values(id,name)
ELSE
INTO table_other (id, name)
values(id, name)
SELECT id,name
FROM a;
濡傛灉娌℃湁鏉′歡鐨勮瘽錛屽垯瀹屾垚姣忎釜琛ㄧ殑鎻掑叆錛屽
INSERT ALL
INTO table_1 (id, name)
values(id,name)
INTO table_2 (id, name)
values(id,name)
INTO table_other (id, name)
values(id, name)
SELECT id,name
FROM a;
[Q]濡備綍瀹炵幇琛屽垪杞崲
[A]1銆佸浐瀹氬垪鏁扮殑琛屽垪杞崲
濡?br />student subject grade
---------------------------
student1 璇枃 80
student1 鏁板 70
student1 鑻辮 60
student2 璇枃 90
student2 鏁板 80
student2 鑻辮 100
鈥︹?br />杞崲涓?
璇枃 鏁板 鑻辮
student1 80 70 60
student2 90 80 100
鈥︹?br />璇彞濡備笅錛?br />select student,sum(decode(subject,'璇枃', grade,null)) "璇枃",
sum(decode(subject,'鏁板', grade,null)) "鏁板",
sum(decode(subject,'鑻辮', grade,null)) "鑻辮"
from table
group by student
2銆佷笉瀹氬垪琛屽垪杞崲
濡?br />c1 c2
--------------
1 鎴?br />1 鏄?br />1 璋?br />2 鐭?br />2 閬?br />3 涓?br />鈥︹?br />杞崲涓?br />1 鎴戞槸璋?br />2 鐭ラ亾
3 涓?br />榪欎竴綾誨瀷鐨勮漿鎹㈠繀欏誨熷姪浜嶱L/SQL鏉ュ畬鎴愶紝榪欓噷緇欎竴涓緥瀛?br />CREATE OR REPLACE FUNCTION get_c2(tmp_c1 NUMBER)
RETURN VARCHAR2
IS
Col_c2 VARCHAR2(4000);
BEGIN
FOR cur IN (SELECT c2 FROM t WHERE c1=tmp_c1) LOOP
Col_c2 := Col_c2||cur.c2;
END LOOP;
Col_c2 := rtrim(Col_c2,1);
RETURN Col_c2;
END;
/
SQL> select distinct c1 ,get_c2(c1) cc2 from table;鍗沖彲
[Q]鎬庝箞鏍峰疄鐜板垎緇勫彇鍓峃鏉¤褰?/font>
[A]8i浠ヤ笂鐗堟湰錛屽埄鐢ㄥ垎鏋愬嚱鏁?br />濡傝幏鍙栨瘡涓儴闂ㄨ柂姘村墠涓夊悕鐨勫憳宸ユ垨姣忎釜鐝垚緇╁墠涓夊悕鐨勫鐢熴?br />Select * from
(select depno,ename,sal,row_number() over (partition by depno
order by sal desc) rn
from emp)
where rn host lsntctl start
鎴栬卽nix/linux騫沖彴涓?br />SQL>!
windows騫沖彴涓?br />SQL>$
鎬葷粨錛欻OST 鍙互鐩存帴鎵цOS鍛戒護(hù)銆?
澶囨敞錛歝d鍛戒護(hù)鏃犳硶姝g‘鎵ц銆?br />[Q]鎬庝箞璁劇疆瀛樺偍榪囩▼鐨勮皟鐢ㄨ呮潈闄?/font>
[A]鏅氬瓨鍌ㄨ繃紼嬮兘鏄墍鏈夎呮潈闄愶紝濡傛灉鎯寵緗皟鐢ㄨ呮潈闄愶紝璇峰弬鑰冨涓嬭鍙?br />create or replace
procedure 鈥︹?)
AUTHID CURRENT_USER
As
begin
鈥︹?br />end;
[Q]鎬庝箞蹇熻幏寰楃敤鎴蜂笅姣忎釜琛ㄦ垨琛ㄥ垎鍖虹殑璁板綍鏁?/font>
[A]鍙互鍒嗘瀽璇ョ敤鎴鳳紝鐒跺悗鏌ヨuser_tables瀛楀吀錛屾垨鑰呴噰鐢ㄥ涓嬭剼鏈嵆鍙?br />SET SERVEROUTPUT ON SIZE 20000
DECLARE
miCount INTEGER;
BEGIN
FOR c_tab IN (SELECT table_name FROM user_tables) LOOP
EXECUTE IMMEDIATE 'select count(*) from "' || c_tab.table_name || '"' into miCount;
dbms_output.put_line(rpad(c_tab.table_name,30,'.') || lpad(miCount,10,'.'));
--if it is partition table
SELECT COUNT(*) INTO miCount FROM User_Part_Tables WHERE table_name = c_tab.table_name;
IF miCount >0 THEN
FOR c_part IN (SELECT partition_name FROM user_tab_partitions WHERE table_name = c_tab.table_name) LOOP
EXECUTE IMMEDIATE 'select count(*) from ' || c_tab.table_name || ' partition (' || c_part.partition_name || ')'
INTO miCount;
dbms_output.put_line(' '||rpad(c_part.partition_name,30,'.') || lpad(miCount, 10,'.'));
END LOOP;
END IF;
END LOOP;
END;
[A]鎬庝箞鍦∣racle涓彂閭歡
[Q]鍙互鍒╃敤utl_smtp鍖呭彂閭歡錛屼互涓嬫槸涓涓彂閫佺畝鍗曢偖浠剁殑渚嬪瓙紼嬪簭
/****************************************************************************
parameter: Rcpter in varchar2 鎺ユ敹鑰呴偖綆?br />Mail_Content in Varchar2 閭歡鍐呭
desc: 路鍙戦侀偖浠跺埌鎸囧畾閭
路鍙兘鎸囧畾涓涓偖綆憋紝濡傛灉闇瑕佸彂閫佸埌澶氫釜閭錛岄渶瑕佸彟澶栫殑杈呭姪紼嬪簭
****************************************************************************/
CREATE OR REPLACE PROCEDURE sp_send_mail( rcpter IN VARCHAR2,
mail_content IN VARCHAR2)
IS
conn utl_smtp.connection;
--write title
PROCEDURE send_header(NAME IN VARCHAR2, HEADER IN VARCHAR2) AS
BEGIN
utl_smtp.write_data(conn, NAME||': '|| HEADER||utl_tcp.CRLF);
END;
BEGIN
--opne connect
conn := utl_smtp.open_connection('smtp.com');
utl_smtp.helo(conn, 'oracle');
utl_smtp.mail(conn, 'oracle info');
utl_smtp.rcpt(conn, Rcpter);
utl_smtp.open_data(conn);
--write title
send_header('From', 'Oracle Database');
send_header('To', '"Recipient" ');
send_header('Subject', 'DB Info');
--write mail content
utl_smtp.write_data(conn, utl_tcp.crlf || mail_content);
--close connect
utl_smtp.close_data(conn);
utl_smtp.quit(conn);
EXCEPTION
WHEN utl_smtp.transient_error OR utl_smtp.permanent_error THEN
BEGIN
utl_smtp.quit(conn);
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
WHEN OTHERS THEN
NULL;
END sp_send_mail;
[A]鎬庝箞鏍峰湪Oracle涓啓鎿嶄綔緋葷粺鏂囦歡錛屽鍐欐棩蹇?/font>
[Q]鍙互鍒╃敤utl_file鍖咃紝浣嗘槸錛屽湪姝や箣鍓嶏紝瑕佹敞鎰忚緗ソUtl_file_dir鍒濆鍖栧弬鏁?br />/**************************************************************************
parameter:textContext in varchar2 鏃ュ織鍐呭
desc: 路鍐欐棩蹇?鎶婂唴瀹硅鍒版湇鍔″櫒鎸囧畾鐩綍涓?br />路蹇呴』閰嶇疆Utl_file_dir鍒濆鍖栧弬鏁幫紝騫朵繚璇佹棩蹇楄礬寰勪笌Utl_file_dir璺緞涓鑷存垨鑰呮槸鍏朵腑涓涓?br />****************************************************************************/
CREATE OR REPLACE PROCEDURE sp_Write_log(text_context VARCHAR2)
IS
file_handle utl_file.file_type;
Write_content VARCHAR2(1024);
Write_file_name VARCHAR2(50);
BEGIN
--open file
write_file_name := 'db_alert.log';
file_handle := utl_file.fopen('/u01/logs',write_file_name,'a');
write_content := to_char(SYSDATE,'yyyy-mm-dd hh24:mi:ss')||'||'||text_context;
--write file
IF utl_file.is_open(file_handle) THEN
utl_file.put_line(file_handle,write_content);
END IF;
--close file
utl_file.fclose(file_handle);
EXCEPTION
WHEN OTHERS THEN
BEGIN
IF utl_file.is_open(file_handle) THEN
utl_file.fclose(file_handle);
END IF;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
END sp_Write_log;



]]>
ORACLE涓嬌鐢ㄥ姩鎬佹父鏍囩殑渚嬪瓙 http://m.shnenglu.com/ivenher/articles/13146.html鐖遍キ鐩?/dc:creator>鐖遍キ鐩?/author>Fri, 29 Sep 2006 07:54:00 GMThttp://m.shnenglu.com/ivenher/articles/13146.htmlhttp://m.shnenglu.com/ivenher/comments/13146.htmlhttp://m.shnenglu.com/ivenher/articles/13146.html#Feedback0http://m.shnenglu.com/ivenher/comments/commentRss/13146.htmlhttp://m.shnenglu.com/ivenher/services/trackbacks/13146.html聽 /*
聽聽 * NAME錛?br />聽聽 *聽聽 get_ope_popedom
聽聽 *
聽聽 * PARAMETER錛?br />聽聽 *聽聽 sta_id聽聽聽- 杞︾珯緙栧彿錛屽涓珯鏃朵互閫楀彿鍒嗛殧
聽聽 *
聽聽 * RETURN:
聽聽 *聽聽 --瀵瑰簲杞︾珯緙栧彿鐨勮濺绔欏悕縐幫紝澶氫釜绔欐椂浠ラ楀彿鍒嗛殧
聽聽 *
聽聽 * AUTHOR:
聽聽 *聽聽聽鑸墊墜
聽聽 *
聽聽 * DESCRIPTION:
聽聽 *聽聽 --鏍規(guī)嵁浼犲叆鐨勮濺绔欑紪鍙瘋繑鍥炵浉搴旂殑杞︾珯鍚嶇О
聽聽 *
聽聽 */
as
Result varchar2(1000);
name_temp varchar2(40);
type聽cursor_t is ref cursor;
emp_cur cursor_t ;
begin
聽 OPEN emp_cur FOR 'SELECT sta_name FROM station_code where sta_code =:1'
聽 using sta_id;
聽 LOOP
聽聽聽聽聽 FETCH emp_cur INTO name_temp;
聽聽聽聽聽 If (emp_cur%NOTFOUND) Then
聽聽聽聽聽聽聽聽 EXIT;
聽聽聽聽聽 End if;
聽聽聽聽聽 Result := Result || name_temp || ',';
聽 end loop;
聽 close emp_cur;
聽 Result := substr(Result,1,(length(Result)-1));
聽 return(Result);
end get_ope_popedom;


]]>
[Oracle]涓浣曟帉鎻′笌浣跨敤娓告爣錛?錛?/title><link>http://m.shnenglu.com/ivenher/articles/13101.html</link><dc:creator>鐖遍キ鐩?/dc:creator><author>鐖遍キ鐩?/author><pubDate>Thu, 28 Sep 2006 06:17:00 GMT</pubDate><guid>http://m.shnenglu.com/ivenher/articles/13101.html</guid><wfw:comment>http://m.shnenglu.com/ivenher/comments/13101.html</wfw:comment><comments>http://m.shnenglu.com/ivenher/articles/13101.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/ivenher/comments/commentRss/13101.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/ivenher/services/trackbacks/13101.html</trackback:ping><description><![CDATA[ <a name="_Toc112150288"> <font size="2"> <span lang="EN-US">1<span></span></span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">娓告爣鐨勫睘鎬?/span> </font> </a> <p class="MsoNormal" style="TEXT-INDENT: 21pt; TEXT-ALIGN: left" align="left"> </p> <div class="hvzpftn" id="3"> <font size="2"> <span lang="EN-US">銆銆oracle </span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">娓告爣鏈?/span> <span lang="EN-US">4</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">涓睘鎬э細(xì)</span> <span lang="EN-US">%ISOPEN</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">錛?/span> <span lang="EN-US">%FOUND</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">錛?/span> <span lang="EN-US">%NOTFOUND</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">錛?/span> <span lang="EN-US">%ROWCOUNT</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">銆?/span> </font> </div> <p> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt; TEXT-ALIGN: left" align="left"> </p> <div class="hvzpftn" id="4"> <font size="2"> <span lang="EN-US">銆銆%ISOPEN</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鍒ゆ柇娓告爣鏄惁琚墦寮錛屽鏋滄墦寮</span> <span lang="EN-US">%ISOPEN</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">絳変簬</span> <span lang="EN-US">true,</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鍚﹀垯絳変簬</span> <span lang="EN-US">false</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">錛?/span> </font> </div> <p> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt; TEXT-ALIGN: left" align="left"> </p> <div class="hvzpftn" id="5"> <font size="2"> <span lang="EN-US">銆銆%FOUND %NOTFOUND</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鍒ゆ柇娓告爣鎵鍦ㄧ殑琛屾槸鍚︽湁鏁堬紝濡傛灉鏈夋晥錛屽垯</span> <span lang="EN-US">%FOUNDD</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">絳変簬</span> <span lang="EN-US">true</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">錛屽惁鍒欑瓑浜?/span> <span lang="EN-US">false</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">錛?/span> </font> </div> <p> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt; TEXT-ALIGN: left" align="left"> </p> <div class="hvzpftn" id="6"> <font size="2"> <span lang="EN-US">銆銆%ROWCOUNT</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">榪斿洖褰撳墠浣嶇疆涓烘娓告爣璇誨彇鐨勮褰曡鏁般?/span> </font> </div> <p> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt; TEXT-ALIGN: center" align="center"> </p> <div class="hvzpftn" id="7"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"> <font size="2">銆銆闅愬紡娓告爣鍜屾樉寮忔父鏍?/font> </span> </div> <p> </p> <div class="hvzpftn" id="8"> <div align="center"> <table style="mso-cellspacing: 0cm" cellspacing="0" cellpadding="0" width="500" border="1"> <tbody> <tr> <td> <div> </div> <p class="MsoNormal" style="TEXT-INDENT: 21pt; TEXT-ALIGN: center" align="center"> </p> <div class="hvzpftn" id="9"> <font size="2"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">闅愬紡娓告爣</span> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: " unicode="" arial=""> <o> </o> </span> </font> </div> <p> </p> <div class="hvzpftn" id="10"> <div class="hvzpftn" id="14"> <div class="hvzpftn" id="18"> <div class="hvzpftn" id="22"> <div class="hvzpftn" id="26"> </div> </div> </div> </div> </div> </td> <td> <div> </div> <div> </div> <div> </div> <div> </div> <div> </div> <p class="MsoNormal" style="TEXT-INDENT: 21pt; TEXT-ALIGN: center" align="center"> </p> <div class="hvzpftn" id="11"> <font size="2"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鏄懼紡娓告爣</span> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: " unicode="" arial=""> <o> </o> </span> </font> </div> <p> </p> <div class="hvzpftn" id="12"> <div class="hvzpftn" id="16"> <div class="hvzpftn" id="20"> <div class="hvzpftn" id="24"> </div> </div> </div> </div> </td> </tr> <tr> <td> <div> </div> <div> </div> <div> </div> <div> </div> <p class="MsoNormal"> </p> <div class="hvzpftn" id="13"> <font size="2"> <span lang="EN-US">PL/SQL</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">緇存姢錛屽綋鎵ц鏌ヨ鏃惰嚜鍔ㄦ墦寮鍜屽叧闂?/span> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: " unicode="" arial=""> <o> </o> </span> </font> </div> <p> </p> <div class="hvzpftn" id="10"> <div class="hvzpftn" id="14"> <div class="hvzpftn" id="18"> <div class="hvzpftn" id="22"> <div class="hvzpftn" id="26"> </div> </div> </div> </div> </div> </td> <td> <div> </div> <div> </div> <div> </div> <div> </div> <div> </div> <p class="MsoNormal"> </p> <div class="hvzpftn" id="15"> <font size="2"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鍦ㄧ▼搴忎腑鏄懼紡瀹氫箟銆佹墦寮銆佸叧闂紝娓告爣鏈変竴涓悕瀛椼?/span> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: " unicode="" arial=""> <o> </o> </span> </font> </div> <p> </p> <div class="hvzpftn" id="12"> <div class="hvzpftn" id="16"> <div class="hvzpftn" id="20"> <div class="hvzpftn" id="24"> </div> </div> </div> </div> </td> </tr> <tr> <td> <div> </div> <div> </div> <div> </div> <div> </div> <p class="MsoNormal"> </p> <div class="hvzpftn" id="17"> <font size="2"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">娓告爣灞炴у墠緙鏄?/span> <span lang="EN-US">SQL </span> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: " unicode="" arial=""> <o> </o> </span> </font> </div> <p> </p> <div class="hvzpftn" id="10"> <div class="hvzpftn" id="14"> <div class="hvzpftn" id="18"> <div class="hvzpftn" id="22"> <div class="hvzpftn" id="26"> </div> </div> </div> </div> </div> </td> <td> <div> </div> <div> </div> <div> </div> <div> </div> <div> </div> <p class="MsoNormal"> </p> <div class="hvzpftn" id="19"> <font size="2"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">娓告爣灞炴х殑鍓嶇紑鏄父鏍囧悕</span> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: " unicode="" arial=""> <o> </o> </span> </font> </div> <p> </p> <div class="hvzpftn" id="12"> <div class="hvzpftn" id="16"> <div class="hvzpftn" id="20"> <div class="hvzpftn" id="24"> </div> </div> </div> </div> </td> </tr> <tr> <td> <div> </div> <div> </div> <div> </div> <div> </div> <p class="MsoNormal"> </p> <div class="hvzpftn" id="21"> <font size="2"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">灞炴?/span> <span lang="EN-US">%ISOPEN</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鎬繪槸涓?/span> <span lang="EN-US">FALSE </span> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: " unicode="" arial=""> <o> </o> </span> </font> </div> <p> </p> <div class="hvzpftn" id="10"> <div class="hvzpftn" id="14"> <div class="hvzpftn" id="18"> <div class="hvzpftn" id="22"> <div class="hvzpftn" id="26"> </div> </div> </div> </div> </div> </td> <td> <div> </div> <div> </div> <div> </div> <div> </div> <div> </div> <p class="MsoNormal"> </p> <div class="hvzpftn" id="23"> <font size="2"> <span lang="EN-US">%ISOPEN</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鏍規(guī)嵁娓告爣鐨勭姸鎬佺‘瀹氬?/span> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: " unicode="" arial=""> <o> </o> </span> </font> </div> <p> </p> <div class="hvzpftn" id="12"> <div class="hvzpftn" id="16"> <div class="hvzpftn" id="20"> <div class="hvzpftn" id="24"> </div> </div> </div> </div> </td> </tr> <tr> <td> <div> </div> <div> </div> <div> </div> <div> </div> <p class="MsoNormal"> </p> <div class="hvzpftn" id="25"> <font size="2"> <span lang="EN-US">SELECT</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">璇彞甯︽湁</span> <span lang="EN-US">INTO</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">瀛愪覆錛屽彧鏈変竴琛屾暟鎹澶勭悊</span> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: " unicode="" arial=""> <o> </o> </span> </font> </div> <p> </p> <div class="hvzpftn" id="10"> <div class="hvzpftn" id="14"> <div class="hvzpftn" id="18"> <div class="hvzpftn" id="22"> <div class="hvzpftn" id="26"> </div> </div> </div> </div> </div> </td> <td> <div> </div> <div> </div> <div> </div> <div> </div> <div> </div> <p class="MsoNormal"> </p> <div class="hvzpftn" id="27"> <font size="2"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鍙互澶勭悊澶氳鏁版嵁錛屽湪紼嬪簭涓緗驚鐜紝鍙栧嚭姣忎竴琛屾暟鎹?/span> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: " unicode="" arial=""> <o> </o> </span> </font> </div> <p> </p> <div class="hvzpftn" id="28"> </div> </td> </tr> </tbody> </table> </div> </div> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> </p> <div class="hvzpftn" id="29"> <span lang="EN-US"> <font size="2"> <o> </o> </font> </span> </div> <p> </p> <p class="MsoNormal" style="TEXT-INDENT: 21.1pt; TEXT-ALIGN: left" align="left"> </p> <div class="hvzpftn" id="30"> <strong> <font size="2"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">銆銆璁板綍鍙橀噺</span> <span lang="EN-US"> <o> </o> </span> </font> </strong> </div> <p> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> </p> <div class="hvzpftn" id="31"> <font size="2"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">銆銆瀹氫箟涓涓褰曞彉閲忎嬌鐢?/span> <span lang="EN-US">TYPE</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鍛戒護(hù)鍜?/span> <span lang="EN-US">%ROWTYPE</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">錛?/span> </font> </div> <p> </p> <div class="hvzpftn" id="32"> <div class="hvzpftn" id="48"> <span lang="EN-US"> </span> </div> </div> <div style="SCROLLBAR-HIGHLIGHT-COLOR: buttonhighlight; OVERFLOW: auto; WIDTH: 500px"> <pre style="BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: black 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; BORDER-LEFT: black 1px solid; PADDING-TOP: 4px; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #ededed"> <div class="hvzpftn" id="33"> <div> <!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> <font size="2"> <span style="COLOR: #0000ff">DECLARE</span> </font> <span style="COLOR: #000000"> <font size="2">R_emp EMP</font> </span> <span style="COLOR: #808080"> <font size="2">%</font> </span> <font size="2"> <span style="COLOR: #000000">ROWTYPE;</span> <span style="COLOR: #0000ff">CURSOR</span> <span style="COLOR: #000000"> c_emp </span> <span style="COLOR: #0000ff">IS</span> <span style="COLOR: #000000"> </span> <span style="COLOR: #0000ff">SELECT</span> <span style="COLOR: #000000"> </span> <span style="COLOR: #808080">*</span> <span style="COLOR: #000000"> </span> <span style="COLOR: #0000ff">FROM</span> <span style="COLOR: #000000"> emp;</span> </font> </div> </div> </pre> </div> <div class="hvzpftn" id="34"> <div class="hvzpftn" id="38"> </div> </div> <p class="MsoNormal" style="TEXT-INDENT: 21pt; TEXT-ALIGN: left" align="left"> </p> <div class="hvzpftn" id="35"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"> <font size="2">銆銆鎴栵細(xì)</font> </span> </div> <p> </p> <div class="hvzpftn" id="36"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"> </span> </div> <div style="SCROLLBAR-HIGHLIGHT-COLOR: buttonhighlight; OVERFLOW: auto; WIDTH: 500px"> <pre style="BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: black 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; BORDER-LEFT: black 1px solid; PADDING-TOP: 4px; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #ededed"> <div class="hvzpftn" id="37"> <div> <!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> <span style="COLOR: #0000ff">DECLARE</span> <span style="COLOR: #000000"> </span> <span style="COLOR: #0000ff">CURSOR</span> <span style="COLOR: #000000"> c_emp </span> <span style="COLOR: #0000ff">IS</span> <span style="COLOR: #000000"> </span> <span style="COLOR: #0000ff">SELECT</span> <span style="COLOR: #000000"> ename,salary </span> <span style="COLOR: #0000ff">FROM</span> <span style="COLOR: #000000"> emp;R_emp c_emp</span> <span style="COLOR: #808080">%</span> <span style="COLOR: #000000">ROWTYPE;</span> </div> </div> </pre> </div> <div class="hvzpftn" id="34"> <div class="hvzpftn" id="38"> </div> </div> <p class="MsoNormal" style="TEXT-INDENT: 21.1pt"> </p> <div class="hvzpftn" id="39"> <strong> <font size="2"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">銆銆甯﹀弬鏁扮殑娓告爣</span> <span lang="EN-US"> <o> </o> </span> </font> </strong> </div> <p> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> </p> <div class="hvzpftn" id="40"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"> <font size="2">銆銆涓庡瓨鍌ㄨ繃紼嬪拰鍑芥暟鐩鎬技錛屽彲浠ュ皢鍙傛暟浼犻掔粰娓告爣騫跺湪鏌ヨ涓嬌鐢ㄣ傝繖瀵逛簬澶勭悊鍦ㄦ煇縐嶆潯浠朵笅鎵撳紑娓告爣鐨勬儏鍐甸潪甯告湁鐢ㄣ傚畠鐨勮娉曞涓嬶細(xì)</font> </span> </div> <p> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> </p> <div class="hvzpftn" id="41"> <span lang="EN-US"> <font size="2">銆銆CURSOR cursor_name[(parameter[,parameter],...)] IS select_statement;</font> </span> </div> <p> </p> <p class="MsoNormal" style="MARGIN-BOTTOM: 12pt; TEXT-INDENT: 21pt"> </p> <div class="hvzpftn" id="42"> <span lang="EN-US"> </span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"> <font size="2">銆銆瀹氫箟鍙傛暟鐨勮娉曞涓嬶細(xì)</font> </span> </div> <p> </p> <p class="MsoNormal" style="MARGIN-BOTTOM: 12pt; TEXT-INDENT: 21pt"> </p> <div class="hvzpftn" id="43"> <span lang="EN-US"> <font size="2">銆銆Parameter_name [IN] data_type[{:=|DEFAULT} value]</font> </span> </div> <p> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt; TEXT-ALIGN: left" align="left"> </p> <div> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"> <font size="2">銆銆涓庡瓨鍌ㄨ繃紼嬩笉鍚岀殑鏄紝娓告爣鍙兘鎺ュ彈浼犻掔殑鍊鹼紝鑰屼笉鑳借繑鍥炲箋傚弬鏁板彧瀹氫箟鏁版嵁綾誨瀷錛屾病鏈夊ぇ灝忋?/font> </span> <span lang="EN-US"> </span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"> <font size="2">銆銆</font> </span> </div> <div> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"> <font size="2">銆銆</font> </span> </div> <div> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"> <font size="2">銆銆鍙﹀鍙互緇欏弬鏁拌瀹氫竴涓己鐪佸鹼紝褰撴病鏈夊弬鏁板間紶閫掔粰娓告爣鏃訛紝灝變嬌鐢ㄧ己鐪佸箋傛父鏍囦腑瀹氫箟鐨勫弬鏁板彧鏄竴涓崰浣嶇錛屽湪鍒寮曠敤璇ュ弬鏁頒笉涓瀹氬彲闈犮?/font> </span> <span lang="EN-US"> <br /> </span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"> <font size="2">銆銆</font> </span> </div> <div> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"> <font size="2">銆銆鍦ㄦ墦寮娓告爣鏃剁粰鍙傛暟璧嬪鹼紝璇硶濡備笅錛?/font> </span> </div> <p> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt; TEXT-ALIGN: left" align="left"> </p> <div class="hvzpftn" id="45"> <span lang="EN-US"> <font size="2">銆銆OPEN cursor_name[value[,value]....];<strong><span><o></o></span></strong></font> </span> </div> <p> </p> <p class="MsoNormal" style="TEXT-INDENT: 21.1pt; TEXT-ALIGN: left" align="left"> </p> <div class="hvzpftn" id="46"> <strong> <font size="2"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">銆銆娓告爣</span> <span lang="EN-US">FOR</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">寰幆</span> <span lang="EN-US"> <o> </o> </span> </font> </strong> </div> <p> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> </p> <div class="hvzpftn" id="47"> <font size="2"> <span lang="EN-US">銆銆FOR</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">寰幆鐨勬父鏍囨寜鐓ф甯哥殑澹版槑鏂瑰紡澹版槑錛屽畠鐨勪紭鐐瑰湪浜庝笉闇瑕佹樉寮忕殑鎵撳紑銆佸叧闂佸彇鏁版嵁錛屾祴璇曟暟鎹殑瀛樺湪銆佸畾涔夊瓨鏀炬暟鎹殑鍙橀噺絳夌瓑銆傛父鏍?/span> <span lang="EN-US">FOR </span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">寰幆鐨勮娉曞涓嬶細(xì)</span> </font> </div> <p> </p> <div class="hvzpftn" id="32"> <div class="hvzpftn" id="48"> <span lang="EN-US"> </span> </div> </div> <div style="SCROLLBAR-HIGHLIGHT-COLOR: buttonhighlight; OVERFLOW: auto; WIDTH: 500px"> <pre style="BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: black 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; BORDER-LEFT: black 1px solid; PADDING-TOP: 4px; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #ededed"> <div class="hvzpftn" id="49"> <div> <!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> <font size="2"> <span style="COLOR: #0000ff">FOR</span> <span style="COLOR: #000000"> record_name </span> <span style="COLOR: #808080">IN</span> </font> <span style="COLOR: #000000"> <font size="2">(corsor_name</font> </span> <font size="2"> <span style="COLOR: #ff0000">[</span> <span style="COLOR: #ff0000">(parameter[,parameter</span> <span style="COLOR: #ff0000">]</span> </font> <font size="2"> <span style="COLOR: #000000">...)]</span> <span style="COLOR: #808080">|</span> </font> <font size="2"> <span style="COLOR: #000000"> (query_difinition)LOOPstatements</span> <span style="COLOR: #0000ff">END</span> <span style="COLOR: #000000"> LOOP;</span> </font> </div> </div> </pre> </div> <div class="hvzpftn" id="ParagraphCount" style="DISPLAY: none">聽</div> <img src ="http://m.shnenglu.com/ivenher/aggbug/13101.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/ivenher/" target="_blank">鐖遍キ鐩?/a> 2006-09-28 14:17 <a href="http://m.shnenglu.com/ivenher/articles/13101.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Oracle PL/SQL璇█鍩虹 涓?/title><link>http://m.shnenglu.com/ivenher/articles/12987.html</link><dc:creator>鐖遍キ鐩?/dc:creator><author>鐖遍キ鐩?/author><pubDate>Tue, 26 Sep 2006 08:52:00 GMT</pubDate><guid>http://m.shnenglu.com/ivenher/articles/12987.html</guid><wfw:comment>http://m.shnenglu.com/ivenher/comments/12987.html</wfw:comment><comments>http://m.shnenglu.com/ivenher/articles/12987.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/ivenher/comments/commentRss/12987.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/ivenher/services/trackbacks/12987.html</trackback:ping><description><![CDATA[ <strong> <font color="#ac0000">鎺у埗緇撴瀯<br /><br /></font> </strong>銆銆鎺у埗緇撴瀯鎺у埗PL/SQL紼嬪簭嫻佺▼鐨勪唬鐮佽,PL/SQL鏀寔鏉′歡鎺у埗鍜屽驚鐜帶鍒剁粨鏋勩?br /><br />銆銆璇硶鍜岀敤閫?br /><br />銆銆銆IF..THEN<br /><br />銆銆璇硶錛?br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>IF condition THEN<br />銆Statements 1;<br />銆Statements 2;<br />銆....<br />END IF <br /></td></tr></tbody></table><br />銆銆IF璇彞鍒ゆ柇鏉′歡condition鏄惁涓篢RUE錛屽鏋滄槸錛屽垯鎵цTHEN鍚庨潰鐨勮鍙ワ紝濡傛灉condition涓篺alse鎴朜ULL鍒欒煩榪嘥HEN鍒癊ND IF涔嬮棿鐨勮鍙ワ紝鎵цEND IF鍚庨潰鐨勮鍙ャ?br /><br />銆銆<b>IF..THEN...ELSE</b><br /><br />銆銆璇硶:<br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>IF condition THEN<br />銆Statements 1;<br />銆Statements 2;<br />銆....<br />ELSE<br />銆Statements 1;<br />銆Statements 2;<br />銆....<br />END IF </td></tr></tbody></table><br />銆銆濡傛灉鏉′歡condition涓篢RUE,鍒欐墽琛孴HEN鍒癊LSE涔嬮棿鐨勮鍙ワ紝鍚﹀垯鎵цELSE鍒癊ND IF涔嬮棿鐨勮鍙ャ?br /><br />銆銆IF 鍙互宓屽錛屽彲浠ュ湪IF 鎴朓F ..ELSE璇彞涓嬌鐢↖F鎴朓F..ELSE璇彞銆?br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>if (a>b) and (a>c) then<br />銆銆g:=a;<br />else<br />銆銆g:=b;<br />銆銆if c>g then<br />銆銆銆g:=c;<br />銆銆end if<br />end if</td></tr></tbody></table><br />銆銆<b>IF..THEN..ELSIF</b><br /><br />銆銆璇硶錛?br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>IF condition1 THEN<br />銆statement1;<br />ELSIF condition2 THEN<br />銆statement2;<br />ELSIF condition3 THEN<br />銆statement3;<br />ELSE<br />銆statement4;<br />END IF;<br />銆statement5;<br /></td></tr></tbody></table><br />銆銆濡傛灉鏉′歡condition1涓篢RUE鍒欐墽琛宻tatement1,鐒跺悗鎵цstatement5,鍚﹀垯鍒ゆ柇condition2鏄惁涓篢RUE,鑻ヤ負(fù)TRUE鍒欐墽琛宻tatement2,鐒跺悗鎵цstatement5,瀵逛簬condition3涔熸槸鐩稿悓鐨勶紝濡傛灉condition1錛宑ondition2錛宑ondition3閮戒笉鎴愮珛錛岄偅涔堝皢鎵цstatement4,鐒跺悗鎵цstatement5銆?br /><br />銆銆<font color="#ac000"><b>寰幆鎺у埗</b></font><br /><br />銆銆寰幆鎺у埗鐨勫熀鏈艦寮忔槸LOOP璇彞錛孡OOP鍜孍ND LOOP涔嬮棿鐨勮鍙ュ皢鏃犻檺嬈$殑鎵ц銆侺OOP璇彞鐨勮娉曞涓嬶細(xì)<br /><br />銆銆LOOP <br />銆銆銆statements;<br />銆銆END LOOP<br /><br />銆銆LOOP鍜孍ND LOOP涔嬮棿鐨勮鍙ユ棤闄愭鐨勬墽琛屾樉鐒舵槸涓嶈鐨勶紝閭d箞鍦ㄤ嬌鐢↙OOP璇彞鏃跺繀欏諱嬌鐢‥XIT璇彞錛屽己鍒跺驚鐜粨鏉燂紝渚嬪錛?br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>X:=100;<br />LOOP<br />銆X:=X+10;<br />銆IF X>1000 THEN<br />銆銆EXIT;<br />銆END IF<br />END LOOP;<br />Y:=X;</td></tr></tbody></table><br />銆銆姝ゆ椂Y鐨勫兼槸1010.<br /><br />銆銆EXIT WHEN璇彞灝嗙粨鏉熷驚鐜紝濡傛灉鏉′歡涓篢RUE錛屽垯緇撴潫寰幆銆?br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>X:=100;<br />LOOP<br />X:=X+10;<br />EXIT WHEN X>1000;<br />X:=X+10;<br />END LOOP;<br />Y:=X;<br /></td></tr></tbody></table><br />銆銆<b>WHILE..LOOP</b><br /><br />銆銆WHILE..LOOP鏈変竴涓潯浠朵笌寰幆鐩歌仈緋伙紝濡傛灉鏉′歡涓篢RUE,鍒欐墽琛屽驚鐜綋鍐呯殑璇彞錛屽鏋滅粨鏋滀負(fù)FALSE,鍒欑粨鏉熷驚鐜?br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>X:=100;<br />WHILE X<=1000 LOOP<br />銆X:=X+10;<br />END LOOP;<br />Y=X; </td></tr></tbody></table><br />銆銆<b>FOR...LOOP</b><br /><br />銆銆璇硶錛?br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>FOR counter IN [REVERSE] start_range....end_range LOOP<br />statements;<br />END LOOP;</td></tr></tbody></table><br />銆銆LOOP鍜學(xué)HILE寰幆鐨勫驚鐜鏁伴兘鏄笉紜畾鐨勶紝FOR寰幆鐨勫驚鐜鏁版槸鍥哄畾鐨勶紝counter鏄竴涓殣寮忓0鏄庣殑鍙橀噺錛屼粬鐨勫垵濮嬪兼槸start_range,絎簩涓兼槸start_range+1,鐩村埌end_range,濡傛灉start_range絳変簬end _range,閭d箞寰幆灝嗘墽琛屼竴嬈°傚鏋滀嬌鐢ㄤ簡(jiǎn)REVERSE鍏抽敭瀛楋紝閭d箞鑼冨洿灝嗘槸涓涓檷搴忋?br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>X:=100;<br />FOR v_counter in 1..10 loop<br />x:=x+10;<br /><br />end loop<br />y:=x;</td></tr></tbody></table><br />銆銆濡傛灉瑕侀鍑篺or寰幆鍙互浣跨敤EXIT璇彞銆?br /><br />銆銆<b>鏍囩</b><br /><br />銆銆鐢ㄦ埛鍙互浣跨敤鏍囩浣跨▼搴忚幏寰楁洿濂界殑鍙鎬с傜▼搴忓潡鎴栧驚鐜兘鍙互琚爣璁般傛爣絳劇殑褰㈠紡鏄?lt;<label>>銆?br /><br />銆銆鏍囪紼嬪簭鍧?br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td><<label_name>><br />[DECLARE]<br />... ... ...<br />BEGIN<br />........<br />[EXCEPTION]<br />.......<br />END label_name</label_name></td></tr></tbody></table><br />銆銆鏍囪寰幆<br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td><<outer_name>><br />LOOP<br />.........<br /><<inner_loop>><br />loop<br />..........<br /><<innermost_loop>><br />loop<br />....<br /><br />EXIT outer_loop WHEN v_condition=0;<br />end loop innermost_loop;<br />..........<br />END LOOP inner_loop;<br />END LOOP outer_loop; </innermost_loop></inner_loop></outer_name></td></tr></tbody></table><br />銆銆<b>GOTO璇彞</b><br /><br />銆銆璇硶錛?br /><br />銆銆GOTO LABEL;<br /><br />銆銆鎵цGOTO璇彞鏃訛紝鎺у埗浼?xì)绔嬪崒櫇{鍒扮敱鏍囩鏍囪鐨勮鍙ャ侾L/SQL涓GOTO璇彞鏈変竴浜涢檺鍒訛紝瀵逛簬鍧椼佸驚鐜両F璇彞鑰岃█錛屼粠澶栧眰璺寵漿鍒板唴灞傛槸闈炴硶鐨勩?br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>X 錛?100;<br />FOR V_COUNTER IN 1..10 LOOP<br />銆IF V_COUNTER =4 THEN<br />銆銆GOTO end_of_loop<br />銆END IF<br />銆X:=X+10;<br />銆<<end_of_loop>><br />銆NULL<br />END LOOP<br /><br />Y:=X; </end_of_loop></td></tr></tbody></table><br />銆銆娉ㄦ剰錛歂ULL鏄竴涓悎娉曠殑鍙墽琛岃鍙ャ?br /><br />銆銆<b>宓屽</b><br /><br />銆銆紼嬪簭鍧楃殑鍐呴儴鍙互鏈夊彟涓涓▼搴忓潡榪欑鎯呭喌縐頒負(fù)宓屽銆傚祵濂楄娉ㄦ剰鐨勬槸鍙橀噺錛屽畾涔夊湪鏈澶栭儴紼嬪簭鍧椾腑鐨勫彉閲忓彲浠ュ湪鎵鏈夊瓙鍧椾腑浣跨敤錛屽鏋滃湪瀛愬潡涓畾涔変簡(jiǎn)涓庡閮ㄧ▼搴忓潡鍙橀噺鐩稿悓鐨勫彉閲忓悕錛屽湪鎵ц瀛愬潡鏃跺皢浣跨敤瀛愬潡涓畾涔夌殑鍙橀噺銆傚瓙鍧椾腑瀹氫箟鐨勫彉閲忎笉鑳借鐖跺潡寮曠敤銆傚悓鏍稧OTO璇彞涓嶈兘鐢辯埗鍧楄煩杞亾瀛愬潡涓紝鍙嶄箣鍒欐槸鍚堟硶鐨勩?br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>銆奜UTER BLOCK銆?br />DECLARE<br />銆A_NUMBER INTEGER錛?br />銆B_NUMBER INTEGER錛?br />BEGIN<br />銆--A_NUMBER and B_NUMBER are available here<br />銆<<sub_block>><br />銆DECLARE<br />銆C_NUMBER INTEGER<br />銆B_NUMBER NUMBER(20)<br />BEGIN<br />銆C_NUMBER:=A_NUMBER;<br />銆C_NUMBER=OUTER_BLOCK.B_NUMBER;<br />END SUB_BLOCK;<br />END OUT_BLOCK;<br /></sub_block></td></tr></tbody></table><br />銆銆<font color="#ac000"><b>灝忕粨</b></font><br /><br />銆 鎴戜滑鍦ㄨ繖綃囨枃绔犱腑浠嬬粛浜?jiǎn)PL/SQL鐨勫熀紜璇硶浠ュ強(qiáng)濡備綍浣跨敤PL/SQL璇█璁捐鍜岃繍琛孭L/SQL紼嬪簭鍧楋紝騫跺皢PL/SQL紼嬪簭鏁村悎鍒癘racle鏈嶅姟鍣ㄤ腑,铏界劧PL/SQL紼嬪簭浣滀負(fù)鍔熻兘鍧楀祵鍏racle鏁版嵁搴撲腑錛屼絾PL/SQL涓嶰RACLE鏁版嵁搴撶殑绱у瘑緇撳悎浣垮緱瓚婃潵瓚婂鐨凮racle鏁版嵁搴撶鐞嗗憳鍜屽紑鍙戜漢鍛樺紑濮嬩嬌鐢≒L/SQL銆?/label><img src ="http://m.shnenglu.com/ivenher/aggbug/12987.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/ivenher/" target="_blank">鐖遍キ鐩?/a> 2006-09-26 16:52 <a href="http://m.shnenglu.com/ivenher/articles/12987.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Oracle PL/SQL璇█鍩虹 浜?/title><link>http://m.shnenglu.com/ivenher/articles/12986.html</link><dc:creator>鐖遍キ鐩?/dc:creator><author>鐖遍キ鐩?/author><pubDate>Tue, 26 Sep 2006 08:51:00 GMT</pubDate><guid>http://m.shnenglu.com/ivenher/articles/12986.html</guid><wfw:comment>http://m.shnenglu.com/ivenher/comments/12986.html</wfw:comment><comments>http://m.shnenglu.com/ivenher/articles/12986.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/ivenher/comments/commentRss/12986.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/ivenher/services/trackbacks/12986.html</trackback:ping><description><![CDATA[ <strong> <font color="#ac0000">鍙橀噺鍜屽父閲?br /><br /></font> </strong>銆銆鍙橀噺瀛樻斁鍦ㄥ唴瀛樹腑浠ヨ幏寰楀鹼紝鑳借PL/SQL鍧楀紩鐢ㄣ備綘鍙互鎶婂彉閲忔兂璞℃垚涓涓彲鍌ㄨ棌涓滆タ鐨勫鍣紝瀹瑰櫒鍐呯殑涓滆タ鏄彲浠ユ敼鍙樼殑銆?br /><br />銆銆<b>澹版槑鍙橀噺</b><br /><br />銆銆鍙橀噺涓鑸兘鍦≒L/SQL鍧楃殑澹版槑閮ㄥ垎澹版槑錛孭L/SQL鏄竴縐嶅己澹殑綾誨瀷璇█錛岃繖灝辨槸璇村湪寮曠敤鍙橀噺鍓嶅繀欏婚鍏堝0鏄庯紝瑕佸湪鎵ц鎴栧紓甯稿鐞嗛儴鍒嗕嬌鐢ㄥ彉閲忥紝閭d箞鍙橀噺蹇呴』棣栧厛鍦ㄥ0鏄庨儴鍒嗚繘琛屽0鏄庛?br /><br />銆銆澹版槑鍙橀噺鐨勮娉曞涓嬶細(xì)<br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>Variable_name [CONSTANT] databyte [NOT NULL][:=|DEFAULT expression]</td></tr></tbody></table><br />銆銆娉ㄦ剰:鍙互鍦ㄥ0鏄庡彉閲忕殑鍚屾椂緇欏彉閲忓己鍒舵х殑鍔犱笂NOT NULL綰︽潫鏉′歡錛屾鏃跺彉閲忓湪鍒濆鍖栨椂蹇呴』璧嬪箋?br /><br />銆銆<b>緇欏彉閲忚祴鍊?/b><br /><br />銆銆緇欏彉閲忚祴鍊兼湁涓ょ鏂瑰紡錛?br /><br />銆銆. 鐩存帴緇欏彉閲忚祴鍊?br /><br />銆銆銆X:=200;<br />銆銆銆Y=Y+(X*20);<br /><br />銆銆. 閫氳繃SQL SELECT INTO 鎴朏ETCH INTO緇欏彉閲忚祴鍊?br /><br />SELECT SUM(SALARY),SUM(SALARY*0.1)<br />INTO TOTAL_SALARY,TATAL_COMMISSION<br />FROM EMPLOYEE<br />WHERE DEPT=10;<br /><br />銆銆<b>甯擱噺</b><br /><br />銆銆甯擱噺涓庡彉閲忕浉浼鹼紝浣嗗父閲忕殑鍊煎湪紼嬪簭鍐呴儴涓嶈兘鏀瑰彉錛屽父閲忕殑鍊煎湪瀹氫箟鏃惰祴浜堬紝錛屼粬鐨勫0鏄庢柟寮忎笌鍙橀噺鐩鎬技錛屼絾蹇呴』鍖呮嫭鍏抽敭瀛桟ONSTANT銆傚父閲忓拰鍙橀噺閮藉彲琚畾涔変負(fù)SQL鍜岀敤鎴峰畾涔夌殑鏁版嵁綾誨瀷銆?br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>ZERO_VALUE CONSTANT NUMBER:=0;</td></tr></tbody></table><br />銆銆榪欎釜璇彞瀹氫簡(jiǎn)涓涓悕鍙玓ERO_VALUE銆佹暟鎹被鍨嬫槸NUMBER銆佸間負(fù)0鐨勫父閲忋?br /><br />銆銆鏍囬噺(scalar)鏁版嵁綾誨瀷<br /><br />銆銆鏍囬噺(scalar)鏁版嵁綾誨瀷娌℃湁鍐呴儴緇勪歡錛屼粬浠ぇ鑷村彲鍒嗕負(fù)浠ヤ笅鍥涚被錛?br /><br />銆銆銆. number<br />銆銆銆. character<br />銆銆銆. date/time<br />銆銆銆. boolean<br /><br />銆銆琛?鏄劇ず浜?jiǎn)鏁板瓧鏁版嵁绫诲瀷锛涜?鏄劇ず浜?jiǎn)瀛椊W︽暟鎹被鍨嬶紱琛?鏄劇ず浜?jiǎn)鏃ユ湡鍜屽竷灏旀暟鎹c誨瀷銆?br /><br />銆銆琛? Scalar Types:Numeric<br /><table cellspacing="0" width="100%" border="1"><tbody><tr><td>Datatype</td><td>Range</td><td>Subtypes</td><td>description</td></tr><tr><td valign="top" height="85">BINARY_INTEGER</td><td valign="top" height="85">-214748-2147483647</td><td valign="top" height="85">NATURAL<br />NATURAL<br />NPOSITIVE<br />POSITIVEN<br />SIGNTYPE <br /></td><td valign="top" height="85">鐢ㄤ簬瀛樺偍鍗曞瓧鑺傛暣鏁般?br />瑕佹眰瀛樺偍闀垮害浣庝簬NUMBER鍊箋?br />鐢ㄤ簬闄愬埗鑼冨洿鐨勫瓙綾誨瀷(SUBTYPE):<br />銆NATURAL:鐢ㄤ簬闈炶礋鏁?br />銆POSITIVE:鍙敤浜庢鏁?br />銆NATURALN:鍙敤浜庨潪璐熸暟鍜岄潪NULL鍊?br />銆POSITIVEN:鍙敤浜庢鏁幫紝涓嶈兘鐢ㄤ簬NULL鍊?br />銆SIGNTYPE:鍙湁鍊?-1銆?鎴?.</td></tr><tr><td valign="top">NUMBER</td><td valign="top">1.0E-130-9.99E125</td><td>DEC<br />DECIMAL<br />DOUBLE <br />PRECISION<br />FLOAT <br />INTEGERIC<br />INT<br />NUMERIC<br />REAL<br />SMALLINT</td><td valign="top">瀛樺偍鏁板瓧鍊鹼紝鍖呮嫭鏁存暟鍜屾誕鐐規(guī)暟銆傚彲浠ラ夋嫨綺懼害鍜屽埢搴︽柟寮忥紝璇硶錛?br />number[錛?precision>[,<scale>]錛塢銆?br />緙虹渷鐨勭簿搴︽槸38,scale鏄?.</scale></precision></td></tr><tr><td>PLS_INTEGER</td><td>-2147483647-2147483647</td><td>聽</td><td>涓嶣INARY_INTEGER鍩烘湰鐩稿悓錛屼絾閲囩敤鏈哄櫒榪愮畻鏃訛紝PLS_INTEGER鎻愪緵鏇村ソ鐨勬ц兘 銆?/td></tr></tbody></table><br />銆銆琛? 瀛楃鏁版嵁綾誨瀷 <br /><table cellspacing="0" width="100%" border="1"><tbody><tr><td>datatype</td><td>rang</td><td>subtype</td><td>description</td></tr><tr><td>CHAR</td><td>鏈澶ч暱搴?2767瀛楄妭 </td><td>CHARACTER</td><td>瀛樺偍瀹氶暱瀛楃涓詫紝濡傛灉闀垮害娌℃湁紜畾錛岀己鐪佹槸1</td></tr><tr><td>LONG</td><td>鏈澶ч暱搴?147483647瀛楄妭</td><td>聽</td><td>瀛樺偍鍙彉闀垮害瀛楃涓?/td></tr><tr><td>RAW </td><td>鏈澶ч暱搴?2767瀛楄妭</td><td>聽</td><td>鐢ㄤ簬瀛樺偍浜岃繘鍒舵暟鎹拰瀛楄妭瀛楃涓詫紝褰撳湪涓や釜鏁版嵁搴撲箣闂磋繘琛屼紶閫掓椂錛孯AW鏁版嵁涓嶅湪瀛楃闆嗕箣闂磋繘琛岃漿鎹€?/td></tr><tr><td>LONGRAW</td><td>鏈澶ч暱搴?147483647</td><td>聽</td><td>涓嶭ONG鏁版嵁綾誨瀷鐩鎬技錛屽悓鏍蜂粬涔熶笉鑳藉湪瀛楃闆嗕箣闂磋繘琛岃漿鎹€?/td></tr><tr><td>ROWID</td><td>18涓瓧鑺?/td><td>聽</td><td>涓庢暟鎹簱ROWID浼垪綾誨瀷鐩稿悓錛岃兘澶熷瓨鍌ㄤ竴涓鏍囩ず絎︼紝鍙互灝嗚鏍囩ず絎︾湅浣滄暟鎹簱涓瘡涓琛岀殑鍞竴閿箋?/td></tr><tr><td>VARCHAR2</td><td>鏈澶ч暱搴?2767瀛楄妭</td><td>STRINGVARCHAR</td><td>涓嶸ARCHAR鏁版嵁綾誨瀷鐩鎬技錛屽瓨鍌ㄥ彲鍙橀暱搴︾殑瀛楃涓層傚0鏄庢柟娉曚笌VARCHAR鐩稿悓 </td></tr></tbody></table><br />銆銆琛? DATE鍜孊OOLEAN<br /><table cellspacing="0" width="100%" border="1"><tbody><tr><td>datatype</td><td>range </td><td>description</td></tr><tr><td>BOOLEAN</td><td>TRUE/FALSE</td><td>瀛樺偍閫昏緫鍊糡RUE鎴朏ALSE,鏃犲弬鏁?/td></tr><tr><td>DATE</td><td>01/01/4712 BC </td><td>瀛樺偍鍥哄畾闀跨殑鏃ユ湡鍜屾椂闂村鹼紝鏃ユ湡鍊間腑鍖呭惈鏃墮棿</td></tr></tbody></table><br />銆銆LOB鏁版嵁綾誨瀷<br /><br />銆銆LOB(澶у璞?Large object) 鏁版嵁綾誨瀷鐢ㄤ簬瀛樺偍綾諱技鍥懼儚錛屽0闊寵繖鏍風(fēng)殑澶у瀷鏁版嵁瀵硅薄錛孡OB鏁版嵁瀵硅薄鍙互鏄簩榪涘埗鏁版嵁涔熷彲浠ユ槸瀛楃鏁版嵁錛屽叾鏈澶ч暱搴︿笉瓚呰繃4G銆侺OB鏁版嵁綾誨瀷鏀寔浠繪剰璁塊棶鏂瑰紡錛孡ONG鍙敮鎸侀『搴忚闂柟寮忋侺OB瀛樺偍鍦ㄤ竴涓崟鐙殑浣嶇疆涓婏紝鍚屾椂涓涓?LOB瀹氫綅絎?(LOB locator)瀛樺偍鍦ㄥ師濮嬬殑琛ㄤ腑錛岃瀹氫綅絎︽槸涓涓寚鍚戝疄闄呮暟鎹殑鎸囬拡銆傚湪PL/SQL涓搷浣淟OB鏁版嵁瀵硅薄浣跨敤ORACLE鎻愪緵鐨勫寘DBMS_LOB.LOB鏁版嵁綾誨瀷鍙垎涓轟互涓嬪洓綾伙細(xì)<br /><br />銆銆. BFILE<br />銆銆. BLOB<br />銆銆. CLOB<br />銆銆. NCLOB<br /><br />銆銆鎿嶄綔絎?br /><br />銆銆涓庡叾浠栫▼搴忚璁¤璦鐩稿悓錛孭L/SQL鏈変竴緋誨垪鎿嶄綔絎︺傛搷浣滅鍒嗕負(fù)涓嬮潰鍑犵被錛?br /><br />銆銆. 綆楁湳鎿嶄綔絎?br /><br />銆銆. 鍏崇郴鎿嶄綔絎?br /><br />銆銆. 姣旇緝鎿嶄綔絎?br /><br />銆銆. 閫昏緫鎿嶄綔絎?br /><br />銆銆綆楁湳鎿嶄綔絎﹀琛?鎵紺?br /><br /><table cellspacing="0" width="100%" border="1"><tbody><tr><td>operator</td><td>operation</td></tr><tr><td>+ </td><td>鍔?/td></tr><tr><td>- </td><td>鍑?/td></tr><tr><td>/ </td><td>闄?/td></tr><tr><td>* </td><td>涔?/td></tr><tr><td>**</td><td>涔樻柟</td></tr></tbody></table><br />銆銆鍏崇郴鎿嶄綔絎︿富瑕佺敤浜庢潯浠跺垽鏂鍙ユ垨鐢ㄤ簬where瀛愪覆涓紝鍏崇郴鎿嶄綔絎︽鏌ユ潯浠跺拰緇撴灉鏄惁涓簍rue鎴杅alse,琛?鏄疨L/SQL涓殑鍏崇郴鎿嶄綔絎?br /><br /><table cellspacing="0" width="100%" border="1"><tbody><tr><td>operator</td><td>operation</td></tr><tr><td>< </td><td>灝忎簬鎿嶄綔絎?/td></tr><tr><td><= </td><td>灝忎簬鎴栫瓑浜庢搷浣滅</td></tr><tr><td>> </td><td>澶т簬鎿嶄綔絎?/td></tr><tr><td>>=</td><td>澶т簬鎴栫瓑浜庢搷浣滅</td></tr><tr><td>= </td><td>絳変簬鎿嶄綔絎?</td></tr><tr><td>!= </td><td>涓嶇瓑浜庢搷浣滅</td></tr><tr><td><> </td><td>涓嶇瓑浜庢搷浣滅</td></tr><tr><td>:= </td><td>璧嬪兼搷浣滅</td></tr></tbody></table><br />銆銆琛? 鏄劇ず鐨勬槸姣旇緝鎿嶄綔絎?br /><table cellspacing="0" width="100%" border="1"><tbody><tr><td>operator </td><td>operation</td></tr><tr><td>IS NULL</td><td>濡傛灉鎿嶄綔鏁頒負(fù)NULL榪斿洖TRUE</td></tr><tr><td>LIKE</td><td>姣旇緝瀛楃涓插?/td></tr><tr><td>BETWEEN</td><td>楠岃瘉鍊兼槸鍚﹀湪鑼冨洿涔嬪唴</td></tr><tr><td>IN</td><td>楠岃瘉鎿嶄綔鏁板湪璁懼畾鐨勪竴緋誨垪鍊間腑</td></tr></tbody></table><br />銆銆琛?.8鏄劇ず鐨勬槸閫昏緫鎿嶄綔絎?br /><table cellspacing="0" width="100%" border="1"><tbody><tr><td>operator</td><td>operation</td></tr><tr><td>AND </td><td>涓や釜鏉′歡閮藉繀欏繪弧瓚?/td></tr><tr><td>OR</td><td>鍙婊¤凍涓や釜鏉′歡涓殑涓涓?/td></tr><tr><td>NOT</td><td>鍙栧弽</td></tr></tbody></table><br />銆銆<b>鎵ц閮ㄥ垎</b><br /><br />銆銆鎵ц閮ㄥ垎鍖呭惈浜?jiǎn)鎵鏈夌殑璇彞鍜岃〃杈懼紡,鎵ц閮ㄥ垎浠ュ叧閿瓧BEGIN寮濮嬶紝浠ュ叧閿瓧EXCEPTION緇撴潫錛屽鏋淓XCEPTION涓嶅瓨鍦紝閭d箞灝嗕互鍏抽敭瀛桬ND緇撴潫銆傚垎鍙峰垎闅旀瘡涓鏉¤鍙ワ紝浣跨敤璧嬪兼搷浣滅:=鎴朣ELECT INTO鎴朏ETCH INTO緇欐瘡涓彉閲忚祴鍊鹼紝鎵ц閮ㄥ垎鐨勯敊璇皢鍦ㄥ紓甯稿鐞嗛儴鍒嗚В鍐籌紝鍦ㄦ墽琛岄儴鍒嗕腑鍙互浣跨敤鍙︿竴涓狿L/SQL紼嬪簭鍧楋紝榪欑紼嬪簭鍧楄縐頒負(fù)宓屽鍧?br /><br />銆銆鎵鏈夌殑SQL鏁版嵁鎿嶄綔璇彞閮藉彲浠ョ敤浜庢墽琛岄儴鍒嗭紝PL/SQL鍧椾笉鑳藉啀灞忓箷涓婃樉紺篠ELECT璇彞鐨勮緭鍑恒係ELECT璇彞蹇呴』鍖呮嫭涓涓狪NTO瀛愪覆鎴栬呮槸娓告爣鐨勪竴閮ㄥ垎錛屾墽琛岄儴鍒嗕嬌鐢ㄧ殑鍙橀噺鍜屽父閲忓繀欏婚鍏堝湪澹版槑閮ㄥ垎澹版槑錛屾墽琛岄儴鍒嗗繀欏昏嚦灝戝寘鎷竴鏉″彲鎵ц璇彞錛孨ULL鏄竴鏉″悎娉曠殑鍙墽琛岃鍙ワ紝浜嬬墿鎺у埗璇彞COMMIT鍜孯OLLBACK鍙互鍦ㄦ墽琛岄儴鍒嗕嬌鐢紝鏁版嵁瀹氫箟璇█(Data Definition language)涓嶈兘鍦ㄦ墽琛岄儴鍒嗕腑浣跨敤錛孌DL璇彞涓嶦XECUTE IMMEDIATE涓璧蜂嬌鐢ㄦ垨鑰呮槸DBMS_SQL璋冪敤銆?br /><br />銆銆<strong>鎵ц涓涓狿L/SQL鍧?br /></strong><br />銆銆SQL*PLUS涓尶鍚嶇殑PL/SQL鍧楃殑鎵ц鏄湪PL/SQL鍧楀悗杈撳叆/鏉ユ墽琛岋紝濡備笅闈㈢殑渚嬪瓙鎵紺猴細(xì)<br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>declare <br />銆v_comm_percent constant number:=10;<br />begin<br />銆update emp<br />銆set comm=sal*v_comm_percent<br />銆where deptno=10;<br />銆end<br />SQL> /<br />PL/SQL procedure successfully completed.<br /><br />SQL></td></tr></tbody></table><br />銆銆鍛藉悕鐨勭▼搴忎笌鍖垮悕紼嬪簭鐨勬墽琛屼笉鍚岋紝鎵ц鍛藉悕鐨勭▼搴忓潡蹇呴』浣跨敤execute鍏抽敭瀛楋細(xì)<br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>create or replace procedure update_commission<br />銆(v_dept in number,v_pervent in number default 10) is <br />begin<br />銆update emp<br />銆set comm=sal*v_percent<br />銆where deptno=v_dept;<br />end<br /><br />SQL>/<br /><br />Procedure created<br /><br />SQL>execute update_commission(10,15);<br /><br />PL/SQL procedure successfully completed.<br /><br />SQL> </td></tr></tbody></table><br /><br />銆銆濡傛灉鍦ㄥ彟涓涓懡鍚嶇▼搴忓潡鎴栧尶鍚嶇▼搴忓潡涓墽琛岃繖涓▼搴忥紝閭d箞灝變笉闇瑕丒XECUTE鍏寵繘瀛椼?br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>declare<br />銆v_dept number;<br />begin<br />銆select a.deptno<br />銆into v_dept<br />銆from emp a<br />銆where job='PRESIDENT'<br />銆update_commission(v_dept);<br />end<br />SQL>/<br />銆PL/SQL procedure successfully completed<br />SQL></td></tr></tbody></table><img src ="http://m.shnenglu.com/ivenher/aggbug/12986.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/ivenher/" target="_blank">鐖遍キ鐩?/a> 2006-09-26 16:51 <a href="http://m.shnenglu.com/ivenher/articles/12986.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>PL/SQL 璇█鍩虹http://m.shnenglu.com/ivenher/articles/12985.html鐖遍キ鐩?/dc:creator>鐖遍キ鐩?/author>Tue, 26 Sep 2006 08:49:00 GMThttp://m.shnenglu.com/ivenher/articles/12985.htmlhttp://m.shnenglu.com/ivenher/comments/12985.htmlhttp://m.shnenglu.com/ivenher/articles/12985.html#Feedback0http://m.shnenglu.com/ivenher/comments/commentRss/12985.htmlhttp://m.shnenglu.com/ivenher/services/trackbacks/12985.html
銆銆PL/SQL鐨勪紭鐐?/font>

銆銆浠庣増鏈?寮濮婸L/SQL灝辮鍙潬鐨勬暣鍚堝埌ORACLE涓簡(jiǎn)錛屼竴鏃︽帉鎻L/SQL鐨勪紭鐐逛互鍙?qiáng)鍏剁嫭鏈夌殑鏁版嵁绠$悊鐨勪究鍒╂э紝閭d箞浣犲緢闅炬兂璞RACLE緙轟簡(jiǎn)PL/SQL鐨勬儏褰€侾L/SQL 涓嶆槸涓涓嫭绔嬬殑浜у搧錛屼粬鏄竴涓暣鍚堝埌ORACLE鏈嶅姟鍣ㄥ拰ORACLE宸ュ叿涓殑鎶鏈紝鍙互鎶奝L/SQL鐪嬩綔ORACLE鏈嶅姟鍣ㄥ唴鐨勪竴涓紩鎿庯紝sql璇彞鎵ц鑰呭鐞嗗崟涓殑sql璇彞錛孭L/SQL寮曟搸澶勭悊PL/SQL紼嬪簭鍧椼傚綋P(yáng)L/SQL紼嬪簭鍧楀湪PL/SQL寮曟搸澶勭悊鏃訛紝ORACLE鏈嶅姟鍣ㄤ腑鐨凷QL璇彞鎵ц鍣ㄥ鐞唒l/sql紼嬪簭鍧椾腑鐨凷QL璇彞銆?br />
銆銆PL/SQL鐨勪紭鐐瑰涓嬶細(xì)

銆銆. PL/SQL鏄竴縐嶉珮鎬ц兘鐨勫熀浜庝簨鍔″鐞嗙殑璇█錛岃兘榪愯鍦ㄤ換浣昈RACLE鐜涓紝鏀寔鎵鏈夋暟鎹鐞嗗懡浠ゃ傞氳繃浣跨敤PL/SQL紼嬪簭鍗曞厓澶勭悊SQL鐨勬暟鎹畾涔夊拰鏁版嵁鎺у埗鍏冪礌銆?br />
銆銆. PL/SQL鏀寔鎵鏈塖QL鏁版嵁綾誨瀷鍜屾墍鏈塖QL鍑芥暟錛屽悓鏃舵敮鎸佹墍鏈塐RACLE瀵硅薄綾誨瀷

銆銆. PL/SQL鍧楀彲浠ヨ鍛藉悕鍜屽瓨鍌ㄥ湪ORACLE鏈嶅姟鍣ㄤ腑錛屽悓鏃朵篃鑳借鍏朵粬鐨凱L/SQL紼嬪簭鎴朣QL鍛戒護(hù)璋冪敤錛屼換浣曞鎴?鏈嶅姟鍣ㄥ伐鍏烽兘鑳借闂甈L/SQL紼嬪簭錛屽叿鏈夊緢濂界殑鍙噸鐢ㄦс?br />
銆銆. 鍙互浣跨敤ORACLE鏁版嵁宸ュ叿綆$悊瀛樺偍鍦ㄦ湇鍔″櫒涓殑PL/SQL紼嬪簭鐨勫畨鍏ㄦс傚彲浠ユ巿鏉冩垨鎾ら攢鏁版嵁搴撳叾浠栫敤鎴瘋闂甈L/SQL紼嬪簭鐨勮兘鍔涖?br />
銆銆. PL/SQL浠g爜鍙互浣跨敤浠諱綍ASCII鏂囨湰緙栬緫鍣ㄧ紪鍐欙紝鎵浠ュ浠諱綍ORACLE鑳藉榪愯鐨勬搷浣滅郴緇熼兘鏄潪甯鎬究鍒╃殑

銆銆. 瀵逛簬SQL錛孫RACLE蹇呴』鍦ㄥ悓涓鏃墮棿澶勭悊姣忎竴鏉QL璇彞錛屽湪緗戠粶鐜涓嬭繖灝辨剰鍛充綔姣忎竴涓嫭绔嬬殑璋冪敤閮藉繀欏昏oracle鏈嶅姟鍣ㄥ鐞嗭紝榪欏氨鍗犵敤澶ч噺鐨勬湇鍔″櫒鏃墮棿錛屽悓鏃跺鑷寸綉緇滄嫢鎸ゃ傝孭L/SQL鏄互鏁翠釜璇彞鍧楀彂緇欐湇鍔″櫒錛岃繖灝遍檷浣庝簡(jiǎn)緗戠粶鎷ユ尋銆?br />
銆銆PL/SQL鍧楃粨鏋?/b>

銆銆PL/SQL鏄竴縐嶅潡緇撴瀯鐨勮璦錛岀粍鎴怭L/SQL紼嬪簭鐨勫崟鍏冩槸閫昏緫鍧楋紝涓涓狿L/SQL 紼嬪簭鍖呭惈浜?jiǎn)涓涓垨澶氫釜閫昏緫鍧楋紝姣忎釜鍧楅兘鍙互鍒掑垎涓轟笁涓儴鍒嗐備笌鍏朵粬璇█鐩稿悓錛屽彉閲忓湪浣跨敤涔嬪墠蹇呴』澹版槑錛孭L/SQL鎻愪緵浜?jiǎn)鐙珛鐨勪笓闂ㄧ敤浜庡鐞嗗紓甯哥殑閮ㄥ垎锛屼笅闈㈡弿杩颁簡(jiǎn)PL/SQL鍧楃殑涓嶅悓閮ㄥ垎錛?br />
銆銆澹版槑閮ㄥ垎(Declaration section)

銆銆澹版槑閮ㄥ垎鍖呭惈浜?jiǎn)鍙橀噺鍜屽笖R噺鐨勬暟鎹被鍨嬪拰鍒濆鍊箋傝繖涓儴鍒嗘槸鐢卞叧閿瓧DECLARE寮濮嬶紝濡傛灉涓嶉渶瑕佸0鏄庡彉閲忔垨甯擱噺錛岄偅涔堝彲浠ュ拷鐣ヨ繖涓閮ㄥ垎錛涢渶瑕佽鏄庣殑鏄父鏍囩殑澹版槑涔熷湪榪欎竴閮ㄥ垎銆?br />
銆銆鎵ц閮ㄥ垎(Executable section)

銆銆鎵ц閮ㄥ垎鏄疨L/SQL鍧椾腑鐨勬寚浠ら儴鍒嗭紝鐢卞叧閿瓧BEGIN寮濮嬶紝鎵鏈夌殑鍙墽琛岃鍙ラ兘鏀懼湪榪欎竴閮ㄥ垎錛屽叾浠栫殑PL/SQL鍧椾篃鍙互鏀懼湪榪欎竴閮ㄥ垎銆?br />
銆銆寮傚父澶勭悊閮ㄥ垎(Exception section)

銆銆榪欎竴閮ㄥ垎鏄彲閫夌殑錛屽湪榪欎竴閮ㄥ垎涓鐞嗗紓甯告垨閿欒錛屽寮傚父澶勭悊鐨勮緇嗚璁烘垜浠湪鍚庨潰榪涜銆?br />
銆銆PL/SQL鍧楄娉?/b>

[DECLARE]
---declaration statements
BEGIN
---executable statements
[EXCEPTION]
---exception statements
END

銆銆PL/SQL鍧椾腑鐨勬瘡涓鏉¤鍙ラ兘蹇呴』浠ュ垎鍙風(fēng)粨鏉燂紝SQL璇彞鍙互浣垮琛岀殑錛屼絾鍒嗗彿琛ㄧず璇ヨ鍙ョ殑緇撴潫銆備竴琛屼腑鍙互鏈夊鏉QL璇彞錛屼粬浠箣闂翠互鍒嗗彿鍒嗛殧銆傛瘡涓涓狿L/SQL鍧楃敱BEGIN鎴朌ECLARE寮濮嬶紝浠ND緇撴潫銆傛敞閲婄敱--鏍囩ず銆?br />
銆銆PL/SQL鍧楃殑鍛藉悕鍜屽尶鍚?/b>

銆銆PL/SQL紼嬪簭鍧楀彲浠ユ槸涓涓懡鍚嶇殑紼嬪簭鍧椾篃鍙互鏄竴涓尶鍚嶇▼搴忓潡銆傚尶鍚嶇▼搴忓潡鍙互鐢ㄥ湪鏈嶅姟鍣ㄧ涔熷彲浠ョ敤鍦ㄥ鎴風(fēng)銆?br />
銆銆鍛藉悕紼嬪簭鍧楀彲浠ュ嚭鐜板湪鍏朵粬PL/SQL紼嬪簭鍧楃殑澹版槑閮ㄥ垎錛岃繖鏂歸潰姣旇緝鏄庢樉鐨勬槸瀛愮▼搴忥紝瀛愮▼搴忓彲浠ュ湪鎵ц閮ㄥ垎寮曠敤錛屼篃鍙互鍦ㄥ紓甯稿鐞嗛儴鍒嗗紩鐢ㄣ?br />
銆銆PL/SQL紼嬪簭鍧楀彲鑳岀嫭绔嬬紪璇戝茍瀛樺偍鍦ㄦ暟鎹簱涓紝浠諱綍涓庢暟鎹簱鐩歌繛鎺ョ殑搴旂敤紼嬪簭閮藉彲浠ヨ闂繖浜涘瓨鍌ㄧ殑PL/SQL紼嬪簭鍧椼侽RACLE鎻愪緵浜?jiǎn)鍥浛U嶇被鍨嬬殑鍙瓨鍌ㄧ殑紼嬪簭錛?br />
銆銆銆. 鍑芥暟

銆銆銆. 榪囩▼

銆銆銆. 鍖?br />
銆銆銆. 瑙﹀彂鍣?br />
銆銆鍑芥暟

銆銆鍑芥暟鏄懡鍚嶄簡(jiǎn)鐨勩佸瓨鍌ㄥ湪鏁版嵁搴撲腑鐨凱L/SQL紼嬪簭鍧椼傚嚱鏁版帴鍙楅浂涓垨澶氫釜杈撳叆鍙傛暟錛屾湁涓涓繑鍥炲鹼紝榪斿洖鍊肩殑鏁版嵁綾誨瀷鍦ㄥ垱寤哄嚱鏁版椂瀹氫箟銆傚畾涔夊嚱鏁扮殑璇硶濡備笅錛?br />
FUNCTION name [{parameter[,parameter,...])] RETURN datatypes IS
[local declarations]
BEGIN
execute statements
[EXCEPTION
exception handlers]
END [name]

銆銆榪囩▼

銆銆瀛樺偍榪囩▼鏄竴涓狿L/SQL紼嬪簭鍧楋紝鎺ュ彈闆朵釜鎴栧涓弬鏁頒綔涓鴻緭鍏?INPUT)鎴栬緭鍑?OUTPUT)銆佹垨鏃綔杈撳叆鍙堜綔杈撳嚭(INOUT)錛屼笌鍑芥暟涓嶅悓錛屽瓨鍌ㄨ繃紼嬫病鏈夎繑鍥炲鹼紝瀛樺偍榪囩▼涓嶈兘鐢盨QL璇彞鐩存帴浣跨敤錛屽彧鑳介氳繃EXECUT鍛戒護(hù)鎴朠L/SQL紼嬪簭鍧楀唴閮ㄨ皟鐢紝瀹氫箟瀛樺偍榪囩▼鐨勮娉曞涓嬶細(xì)

PROCEDURE name [(parameter[,parameter,...])] IS
[local declarations]
BEGIN
execute statements
[EXCEPTION
exception handlers ]
END [name]

銆銆鍖?package)

銆銆鍖呭叾瀹炲氨鏄緇勫悎鍦ㄤ竴璧風(fēng)殑鐩稿叧瀵硅薄鐨勯泦鍚堬紝褰撳寘涓換浣曞嚱鏁版垨瀛樺偍榪囩▼琚皟鐢紝鍖呭氨琚姞杞藉叆鍐呭瓨涓紝鍖呬腑鐨勪換浣曞嚱鏁版垨瀛樺偍榪囩▼鐨勫瓙紼嬪簭璁塊棶閫熷害灝嗗ぇ澶у姞蹇?br />鍖呯敱涓や釜閮ㄥ垎緇勬垚錛氳鑼冨拰鍖呬富浣?body),瑙勮寖鎻忚堪鍙橀噺銆佸父閲忋佹父鏍囥佸拰瀛愮▼搴忥紝鍖呬綋瀹屽叏瀹氫箟瀛愮▼搴忓拰娓告爣銆?br />
銆銆瑙﹀彂鍣?trigger)

銆銆瑙﹀彂鍣ㄤ笌涓涓〃鎴栨暟鎹簱浜嬩歡鑱旂郴鍦ㄤ竴璧風(fēng)殑錛屽綋涓涓Е鍙戝櫒浜嬩歡鍙戠敓鏃訛紝瀹氫箟鍦ㄨ〃涓婄殑瑙﹀彂鍣ㄨ瑙﹀彂銆?br />

]]>
[oracle]瑙﹀彂鍣ㄥ強(qiáng)搴忓垪緇撳悎瀹炵幇鑷瀛楁http://m.shnenglu.com/ivenher/articles/12949.html鐖遍キ鐩?/dc:creator>鐖遍キ鐩?/author>Mon, 25 Sep 2006 09:45:00 GMThttp://m.shnenglu.com/ivenher/articles/12949.htmlhttp://m.shnenglu.com/ivenher/comments/12949.htmlhttp://m.shnenglu.com/ivenher/articles/12949.html#Feedback0http://m.shnenglu.com/ivenher/comments/commentRss/12949.htmlhttp://m.shnenglu.com/ivenher/services/trackbacks/12949.html[oracle]瑙﹀彂鍣ㄥ強(qiáng)搴忓垪緇撳悎瀹炵幇鑷瀛楁
    璁﹐racle瀹炵幇鑷瀛楁

    鍏堝緩搴忓垪,鐒跺悗寤虹珛涓涓Е鍙戝櫒瀹炵幇!
    cata0鏄〃鍚?cata0_id鏄渶瑕佽嚜澧炵殑瀛楁!
    CREATE SEQUENCE SEQ_cata0
    聽I(yíng)NCREMENT BY聽 1
    聽START WITH聽 1
    聽MAXVALUE聽 9999999

    CREATE TRIGGER TRG_cata0 BEFORE
    INSERT聽 ON cata0
    FOR EACH ROW begin
    聽聽 SELECT SEQ_cata0.NEXTVAL
    聽聽聽聽 INTO :NEW.cata0_ID
    聽聽聽聽 FROM DUAL;
    End TRG_cata0;



]]>
oracle鏌ヨ鍓嶅嚑琛?/title><link>http://m.shnenglu.com/ivenher/articles/12833.html</link><dc:creator>鐖遍キ鐩?/dc:creator><author>鐖遍キ鐩?/author><pubDate>Fri, 22 Sep 2006 08:30:00 GMT</pubDate><guid>http://m.shnenglu.com/ivenher/articles/12833.html</guid><wfw:comment>http://m.shnenglu.com/ivenher/comments/12833.html</wfw:comment><comments>http://m.shnenglu.com/ivenher/articles/12833.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/ivenher/comments/commentRss/12833.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/ivenher/services/trackbacks/12833.html</trackback:ping><description><![CDATA[ <p>鏌ヨ鍓?00琛岃褰?br />select * from聽 mytab where rownum<100</p> <img src ="http://m.shnenglu.com/ivenher/aggbug/12833.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/ivenher/" target="_blank">鐖遍キ鐩?/a> 2006-09-22 16:30 <a href="http://m.shnenglu.com/ivenher/articles/12833.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <a href="http://m.shnenglu.com/">青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品</a> <div style="position:fixed;left:-9000px;top:-9000px;"><font id="pjuwb"></font><button id="pjuwb"><pre id="pjuwb"></pre></button><sub id="pjuwb"></sub><tbody id="pjuwb"><var id="pjuwb"><address id="pjuwb"></address></var></tbody><listing id="pjuwb"><label id="pjuwb"><strong id="pjuwb"></strong></label></listing><wbr id="pjuwb"><small id="pjuwb"><tbody id="pjuwb"></tbody></small></wbr><ins id="pjuwb"><xmp id="pjuwb"></xmp></ins><style id="pjuwb"></style><label id="pjuwb"><em id="pjuwb"><li id="pjuwb"></li></em></label><samp id="pjuwb"></samp><menu id="pjuwb"><input id="pjuwb"></input></menu><pre id="pjuwb"><tbody id="pjuwb"><tfoot id="pjuwb"><button id="pjuwb"></button></tfoot></tbody></pre><form id="pjuwb"></form><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"><sup id="pjuwb"></sup></label></style></i><li id="pjuwb"><table id="pjuwb"><abbr id="pjuwb"></abbr></table></li><video id="pjuwb"></video><dfn id="pjuwb"></dfn><progress id="pjuwb"></progress><strong id="pjuwb"></strong><mark id="pjuwb"></mark><em id="pjuwb"></em><tbody id="pjuwb"><p id="pjuwb"><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike></p></tbody><option id="pjuwb"></option><strike id="pjuwb"></strike><u id="pjuwb"></u><td id="pjuwb"><center id="pjuwb"><tr id="pjuwb"></tr></center></td><em id="pjuwb"><mark id="pjuwb"><em id="pjuwb"><tt id="pjuwb"></tt></em></mark></em><strong id="pjuwb"></strong><wbr id="pjuwb"></wbr><s id="pjuwb"></s><strong id="pjuwb"></strong><legend id="pjuwb"></legend><nav id="pjuwb"></nav><dl id="pjuwb"><th id="pjuwb"><dl id="pjuwb"></dl></th></dl><noframes id="pjuwb"><ins id="pjuwb"></ins></noframes><font id="pjuwb"></font><strike id="pjuwb"><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"></label></style></i></strike><output id="pjuwb"></output><thead id="pjuwb"><pre id="pjuwb"></pre></thead><source id="pjuwb"></source><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem><pre id="pjuwb"><span id="pjuwb"><pre id="pjuwb"><big id="pjuwb"></big></pre></span></pre><cite id="pjuwb"><fieldset id="pjuwb"><s id="pjuwb"><rt id="pjuwb"></rt></s></fieldset></cite><big id="pjuwb"><progress id="pjuwb"><big id="pjuwb"></big></progress></big><samp id="pjuwb"><delect id="pjuwb"></delect></samp><dl id="pjuwb"></dl><strike id="pjuwb"><nav id="pjuwb"><dl id="pjuwb"><strong id="pjuwb"></strong></dl></nav></strike><tbody id="pjuwb"><b id="pjuwb"><optgroup id="pjuwb"><rp id="pjuwb"></rp></optgroup></b></tbody><em id="pjuwb"></em><xmp id="pjuwb"><blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote></xmp> <i id="pjuwb"><abbr id="pjuwb"><i id="pjuwb"><abbr id="pjuwb"></abbr></i></abbr></i><center id="pjuwb"><acronym id="pjuwb"><center id="pjuwb"></center></acronym></center><pre id="pjuwb"></pre><ul id="pjuwb"><thead id="pjuwb"></thead></ul><blockquote id="pjuwb"><pre id="pjuwb"><sup id="pjuwb"></sup></pre></blockquote><acronym id="pjuwb"></acronym><big id="pjuwb"><s id="pjuwb"></s></big><th id="pjuwb"></th><th id="pjuwb"></th><tbody id="pjuwb"></tbody><thead id="pjuwb"><strike id="pjuwb"></strike></thead><th id="pjuwb"><dl id="pjuwb"><wbr id="pjuwb"></wbr></dl></th><dl id="pjuwb"><strong id="pjuwb"></strong></dl><abbr id="pjuwb"><noframes id="pjuwb"><noscript id="pjuwb"></noscript></noframes></abbr><td id="pjuwb"><ol id="pjuwb"></ol></td><li id="pjuwb"><noscript id="pjuwb"><abbr id="pjuwb"></abbr></noscript></li><small id="pjuwb"><bdo id="pjuwb"><nav id="pjuwb"></nav></bdo></small><style id="pjuwb"></style><optgroup id="pjuwb"><table id="pjuwb"></table></optgroup><center id="pjuwb"><tr id="pjuwb"><dfn id="pjuwb"></dfn></tr></center><th id="pjuwb"></th><u id="pjuwb"></u><tfoot id="pjuwb"><legend id="pjuwb"><i id="pjuwb"></i></legend></tfoot><mark id="pjuwb"></mark><meter id="pjuwb"></meter><nav id="pjuwb"></nav><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><nobr id="pjuwb"></nobr><sub id="pjuwb"><th id="pjuwb"><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem></th></sub><thead id="pjuwb"><sub id="pjuwb"></sub></thead><ul id="pjuwb"><address id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></address></ul><dfn id="pjuwb"></dfn><pre id="pjuwb"></pre><input id="pjuwb"><cite id="pjuwb"><fieldset id="pjuwb"></fieldset></cite></input><u id="pjuwb"><form id="pjuwb"><u id="pjuwb"></u></form></u><kbd id="pjuwb"><em id="pjuwb"><mark id="pjuwb"></mark></em></kbd><tr id="pjuwb"></tr><del id="pjuwb"><form id="pjuwb"><address id="pjuwb"></address></form></del><tfoot id="pjuwb"><legend id="pjuwb"><ol id="pjuwb"><dl id="pjuwb"></dl></ol></legend></tfoot><menu id="pjuwb"><nobr id="pjuwb"><th id="pjuwb"><nobr id="pjuwb"></nobr></th></nobr></menu><fieldset id="pjuwb"></fieldset><pre id="pjuwb"><blockquote id="pjuwb"><samp id="pjuwb"></samp></blockquote></pre><xmp id="pjuwb"><sup id="pjuwb"><pre id="pjuwb"></pre></sup></xmp><span id="pjuwb"><progress id="pjuwb"></progress></span><font id="pjuwb"></font><var id="pjuwb"><abbr id="pjuwb"></abbr></var><strong id="pjuwb"><label id="pjuwb"><i id="pjuwb"><legend id="pjuwb"></legend></i></label></strong><tr id="pjuwb"><em id="pjuwb"><em id="pjuwb"><output id="pjuwb"></output></em></em></tr><thead id="pjuwb"><strike id="pjuwb"></strike></thead> <acronym id="pjuwb"></acronym><i id="pjuwb"></i><tt id="pjuwb"></tt><rt id="pjuwb"><source id="pjuwb"><rt id="pjuwb"></rt></source></rt><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike><del id="pjuwb"></del><font id="pjuwb"><output id="pjuwb"><ins id="pjuwb"><output id="pjuwb"></output></ins></output></font><kbd id="pjuwb"><tr id="pjuwb"><kbd id="pjuwb"></kbd></tr></kbd><pre id="pjuwb"><sup id="pjuwb"><delect id="pjuwb"><samp id="pjuwb"></samp></delect></sup></pre><samp id="pjuwb"></samp><track id="pjuwb"></track><tr id="pjuwb"></tr><center id="pjuwb"></center><fieldset id="pjuwb"></fieldset><i id="pjuwb"></i><td id="pjuwb"></td><rt id="pjuwb"></rt><object id="pjuwb"></object><pre id="pjuwb"><progress id="pjuwb"><sub id="pjuwb"><thead id="pjuwb"></thead></sub></progress></pre><kbd id="pjuwb"><tr id="pjuwb"><option id="pjuwb"></option></tr></kbd><output id="pjuwb"><ins id="pjuwb"></ins></output><ol id="pjuwb"></ol><source id="pjuwb"></source><strong id="pjuwb"></strong><ruby id="pjuwb"></ruby><sub id="pjuwb"><meter id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></meter></sub><pre id="pjuwb"></pre><center id="pjuwb"></center><tr id="pjuwb"><tbody id="pjuwb"><xmp id="pjuwb"><dd id="pjuwb"></dd></xmp></tbody></tr><video id="pjuwb"></video><pre id="pjuwb"></pre><form id="pjuwb"><optgroup id="pjuwb"></optgroup></form><samp id="pjuwb"></samp><kbd id="pjuwb"></kbd><strong id="pjuwb"><option id="pjuwb"></option></strong><object id="pjuwb"></object><abbr id="pjuwb"><noframes id="pjuwb"><abbr id="pjuwb"></abbr></noframes></abbr><ul id="pjuwb"><del id="pjuwb"><button id="pjuwb"><pre id="pjuwb"></pre></button></del></ul><abbr id="pjuwb"></abbr><strong id="pjuwb"><code id="pjuwb"><strong id="pjuwb"></strong></code></strong><option id="pjuwb"></option><optgroup id="pjuwb"><bdo id="pjuwb"><code id="pjuwb"></code></bdo></optgroup><mark id="pjuwb"><em id="pjuwb"><font id="pjuwb"></font></em></mark><acronym id="pjuwb"><code id="pjuwb"></code></acronym><dl id="pjuwb"></dl><em id="pjuwb"></em><object id="pjuwb"><input id="pjuwb"><object id="pjuwb"></object></input></object><output id="pjuwb"><dd id="pjuwb"></dd></output><option id="pjuwb"><button id="pjuwb"><option id="pjuwb"></option></button></option><small id="pjuwb"></small></div> <a href="http://www24822.com" target="_blank">亚洲欧美国产精品va在线观看</a>| <a href="http://northboiler.com" target="_blank">欧美日韩成人激情</a>| <a href="http://metagasa.com" target="_blank">久久精品欧美日韩</a>| <a href="http://hbdxzx.com" target="_blank">久久福利资源站</a>| <a href="http://www-444454.com" target="_blank">欧美在线综合</a>| <a href="http://320ur.com" target="_blank">麻豆精品精华液</a>| <a href="http://www62265.com" target="_blank">亚洲大片精品永久免费</a>| <a href="http://456888com.com" target="_blank">欧美高清自拍一区</a>| <a href="http://4438x28.com" target="_blank">亚洲精品久久久久久下一站 </a>| <a href="http://ddixx.com" target="_blank">国产一二精品视频</a>| <a href="http://wewe520.com" target="_blank">国产麻豆综合</a>| <a href="http://www37999.com" target="_blank">亚洲国产精品一区二区久</a>| <a href="http://492541.com" target="_blank">亚洲伦理中文字幕</a>| <a href="http://clgtzz.com" target="_blank">亚洲欧美日韩天堂一区二区</a>| <a href="http://567acg.com" target="_blank">久久精品国产一区二区三区免费看 </a>| <a href="http://227237.com" target="_blank">欧美寡妇偷汉性猛交</a>| <a href="http://7343888.com" target="_blank">精品999成人</a>| <a href="http://www-5013.com" target="_blank">亚洲精品久久久久久久久久久</a>| <a href="http://xingda-sh.com" target="_blank">亚洲麻豆av</a>| <a href="http://7kz6.com" target="_blank">欧美在线亚洲在线</a>| <a href="http://9113c.com" target="_blank">亚洲大胆在线</a>| <a href="http://012488.com" target="_blank">亚洲欧美日本精品</a>| <a href="http://ss2ssc.com" target="_blank">免费看黄裸体一级大秀欧美</a>| <a href="http://ym5571.com" target="_blank">欧美日韩视频在线一区二区</a>| <a href="http://njggmy.com" target="_blank">国产午夜精品视频免费不卡69堂</a>| <a href="http://xunlei520.com" target="_blank">亚洲第一网站</a>| <a href="http://17oooo.com" target="_blank">欧美一区二区</a>| <a href="http://free18teen.com" target="_blank">亚洲人成网站777色婷婷</a>| <a href="http://xvideoxxnx.com" target="_blank">亚洲欧美国产va在线影院</a>| <a href="http://6688se.com" target="_blank">欧美xxxx在线观看</a>| <a href="http://www-222kkk.com" target="_blank">国产日产欧美a一级在线</a>| <a href="http://writeingo.com" target="_blank">亚洲精品中文字幕在线</a>| <a href="http://www-232323.com" target="_blank">久久精品一区四区</a>| <a href="http://151545.com" target="_blank">在线视频亚洲</a>| <a href="http://zyjdxx.com" target="_blank">欧美精彩视频一区二区三区</a>| <a href="http://292q.com" target="_blank">国产综合色产在线精品</a>| <a href="http://by21999.com" target="_blank">亚洲小说欧美另类婷婷</a>| <a href="http://jizz16.com" target="_blank">欧美国产日韩视频</a>| <a href="http://bandycup.com" target="_blank">欧美在线观看一区二区</a>| <a href="http://kk1xx-com.com" target="_blank">欧美色欧美亚洲高清在线视频</a>| <a href="http://921367.com" target="_blank">国内欧美视频一区二区</a>| <a href="http://ywbst8g4tukcsqhioikc.com" target="_blank">亚洲午夜精品福利</a>| <a href="http://sdjzzs.com" target="_blank">亚洲国产欧美在线人成</a>| <a href="http://g2000vip.com" target="_blank">久久久亚洲午夜电影</a>| <a href="http://301110.com" target="_blank">国产精品视频网</a>| <a href="http://cm168168.com" target="_blank">亚洲一区二区三区乱码aⅴ</a>| <a href="http://337791.com" target="_blank">亚洲国产欧美一区二区三区久久</a>| <a href="http://yzsss.com" target="_blank">欧美一级专区免费大片</a>| <a href="http://580078.com" target="_blank">国产精品欧美经典</a>| <a href="http://77777gao.com" target="_blank">亚洲一区二区三区高清</a>| <a href="http://icciran.com" target="_blank">亚洲人人精品</a>| <a href="http://17cao8.com" target="_blank">欧美国产综合</a>| <a href="http://rxbbei.com" target="_blank">日韩视频免费</a>| <a href="http://xindefalv.com" target="_blank">亚洲欧洲美洲综合色网</a>| <a href="http://ttdy20.com" target="_blank">欧美成年人网站</a>| <a href="http://mgcc37.com" target="_blank">亚洲国产精品免费</a>| <a href="http://6966g.com" target="_blank">亚洲成色精品</a>| <a href="http://filmcameralibrary.com" target="_blank">久久综合九色99</a>| <a href="http://fengxinye.com" target="_blank">影音先锋另类</a>| <a href="http://www446168.com" target="_blank">欧美成人a∨高清免费观看</a>| <a href="http://605799.com" target="_blank">久久久久国内</a>| <a href="http://89wbw.com" target="_blank">亚洲国产欧美一区二区三区同亚洲 </a>| <a href="http://ffff53.com" target="_blank">欧美在线网站</a>| <a href="http://by4672.com" target="_blank">欧美一区二区视频观看视频</a>| <a href="http://www8888803.com" target="_blank">国产精品女主播</a>| <a href="http://kissgz.com" target="_blank">久久gogo国模啪啪人体图</a>| <a href="http://www151zh.com" target="_blank">午夜精品福利电影</a>| <a href="http://3b6f.com" target="_blank">国内自拍一区</a>| <a href="http://sese699.com" target="_blank">欧美高清视频免费观看</a>| <a href="http://d1112.com" target="_blank">能在线观看的日韩av</a>| <a href="http://133969.com" target="_blank">亚洲精品系列</a>| <a href="http://cbb188.com" target="_blank">一区二区国产在线观看</a>| <a href="http://2343ww.com" target="_blank">国产精品久久久久av</a>| <a href="http://rezel-zj.com" target="_blank">国产精品一区毛片</a>| <a href="http://www13256.com" target="_blank">亚洲精品乱码久久久久久蜜桃麻豆</a>| <a href="http://www92444.com" target="_blank">久久一区亚洲</a>| <a href="http://2629929.com" target="_blank">欧美不卡高清</a>| <a href="http://www-485050.com" target="_blank">亚洲天堂久久</a>| <a href="http://wwwen41.com" target="_blank">午夜视频在线观看一区</a>| <a href="http://86311ib.com" target="_blank">黄色精品免费</a>| <a href="http://480192.com" target="_blank">亚洲欧洲综合另类</a>| <a href="http://4379d.com" target="_blank">欧美午夜电影网</a>| <a href="http://84172199.com" target="_blank">久久国产精品久久久久久久久久 </a>| <a href="http://zzmzit.com" target="_blank">欧美成人乱码一区二区三区</a>| <a href="http://carboarm.com" target="_blank">亚洲日本电影</a>| <a href="http://987527.com" target="_blank">在线一区二区三区做爰视频网站</a>| <a href="http://jzsp121.com" target="_blank">国产精品午夜av在线</a>| <a href="http://zw1019.com" target="_blank">美女脱光内衣内裤视频久久网站</a>| <a href="http://123lifenet.com" target="_blank">久久亚洲综合网</a>| <a href="http://www-18873.com" target="_blank">亚洲视频在线观看网站</a>| <a href="http://www35211.com" target="_blank">香蕉久久久久久久av网站</a>| <a href="http://cuucs.com" target="_blank">亚洲第一区在线</a>| <a href="http://17cao8.com" target="_blank">一本色道久久综合狠狠躁篇怎么玩</a>| <a href="http://788111c.com" target="_blank">国产精品区一区二区三</a>| <a href="http://y4088.com" target="_blank">欧美成人精品福利</a>| <a href="http://www909059.com" target="_blank">国产精品福利网</a>| <a href="http://feiniao168.com" target="_blank">女同一区二区</a>| <a href="http://zhouqie.com" target="_blank">国产精品xxxxx</a>| <a href="http://188293.com" target="_blank">欧美本精品男人aⅴ天堂</a>| <a href="http://4379d.com" target="_blank">国产精品www色诱视频</a>| <a href="http://mauhorng.com" target="_blank">免费高清在线视频一区·</a>| <a href="http://40346c.com" target="_blank">欧美视频在线观看视频极品</a>| <a href="http://f9494.com" target="_blank">久久婷婷亚洲</a>| <a href="http://99hhbb.com" target="_blank">国产精品国产精品</a>| <a href="http://099idc.com" target="_blank">欧美激情精品久久久久久久变态 </a>| <a href="http://57sa.com" target="_blank">亚洲国产专区</a>| <a href="http://wwwp6660.com" target="_blank">国产情人节一区</a>| <a href="http://www5xzz1.com" target="_blank">亚洲欧洲精品一区</a>| <a href="http://689658.com" target="_blank">国内外成人免费视频</a>| <a href="http://iietao.com" target="_blank">亚洲美女黄网</a>| <a href="http://283575.com" target="_blank">亚洲欧洲一区二区三区</a>| <a href="http://www777788c.com" target="_blank">亚洲欧美激情视频</a>| <a href="http://www333444123.com" target="_blank">一区二区电影免费观看</a>| <a href="http://92xx00.com" target="_blank">玖玖玖国产精品</a>| <a href="http://lexueit.com" target="_blank">欧美在线国产</a>| <a href="http://avtbr123.com" target="_blank">欧美天天影院</a>| <a href="http://xb989.com" target="_blank">亚洲精品久久久久</a>| <a href="http://xss521.com" target="_blank">亚洲国产欧美一区</a>| <a href="http://123hiba.com" target="_blank">久久青草久久</a>| <a href="http://e7w2.com" target="_blank">久久久亚洲精品一区二区三区</a>| <a href="http://jiajianpei.com" target="_blank">欧美日韩精品免费</a>| <a href="http://www4466k.com" target="_blank">亚洲国产合集</a>| <a href="http://ww3838.com" target="_blank">亚洲国产一区二区在线</a>| <a href="http://huangsedy.com" target="_blank">久久国产日韩欧美</a>| <a href="http://happyelephantv.com" target="_blank">欧美在线看片</a>| <a href="http://www-119049.com" target="_blank">国产精品一区二区三区四区五区 </a>| <a href="http://mm910.com" target="_blank">欧美成人免费在线观看</a>| <a href="http://smdzs.com" target="_blank">久久这里只有</a>| <a href="http://khc83.com" target="_blank">韩日成人在线</a>| <a href="http://dailymailnepal.com" target="_blank">久久成人精品一区二区三区</a>| <a href="http://51duanxinmao.com" target="_blank">亚洲欧美日韩中文在线制服</a>| <a href="http://by4672.com" target="_blank">欧美三级网页</a>| <a href="http://www-26333com.com" target="_blank">国产农村妇女精品</a>| <a href="http://710191.com" target="_blank">免费亚洲一区</a>| <a href="http://scptw.com" target="_blank">国产欧美欧洲在线观看</a>| <a href="http://www-4997.com" target="_blank">中国亚洲黄色</a>| <a href="http://haochen072.com" target="_blank">午夜精品久久久</a>| <a href="http://ximaimicro.com" target="_blank">国产精品扒开腿爽爽爽视频</a>| <a href="http://215920.com" target="_blank">亚洲免费观看高清完整版在线观看熊</a>| <a href="http://8842aa.com" target="_blank">在线看片成人</a>| <a href="http://1194123.com" target="_blank">久久综合九色九九</a>| <a href="http://uu774.com" target="_blank">亚洲高清免费</a>| <a href="http://gzhachi.com" target="_blank">日韩一区二区精品</a>| <a href="http://59199m.com" target="_blank">欧美日韩精品一区视频</a>| <a href="http://mengmujia.com" target="_blank">日韩午夜精品视频</a>| <a href="http://www3344cao.com" target="_blank">亚洲一区二区动漫</a>| <a href="http://2312138.com" target="_blank">国产精品一级二级三级</a>| <a href="http://aa56789.com" target="_blank">亚洲欧美综合v</a>| <a href="http://xvideoav99.com" target="_blank">久久久www成人免费毛片麻豆</a>| <a href="http://stt788.com" target="_blank">国产一区二区日韩精品欧美精品 </a>| <a href="http://7282789.com" target="_blank">欧美日本精品</a>| <a href="http://811897.com" target="_blank">亚洲视频高清</a>| <a href="http://gzxyh88.com" target="_blank">久久国产主播</a>| <a href="http://9931111.com" target="_blank">亚洲国产高清视频</a>| <a href="http://798814.com" target="_blank">欧美激情一区二区三区</a>| <a href="http://444398.com" target="_blank">99视频在线精品国自产拍免费观看</a>| <a href="http://188267.com" target="_blank">夜色激情一区二区</a>| <a href="http://xianjiacf.com" target="_blank">国产精品久久久久久影院8一贰佰</a>| <a href="http://649929.com" target="_blank">亚洲主播在线播放</a>| <a href="http://cdcpt.com" target="_blank">欧美 日韩 国产精品免费观看</a>| <a href="http://bixiuge.com" target="_blank">亚洲精品视频免费</a>| <a href="http://039658.com" target="_blank">国产精品黄色</a>| <a href="http://wslsp.com" target="_blank">一本色道久久综合亚洲精品不</a>| <a href="http://dtwave-ind.com" target="_blank">亚洲免费视频网站</a>| <a href="http://gzzhuangshi.com" target="_blank">久久综合亚州</a>| <a href="http://whmingtong.com" target="_blank">91久久久久</a>| <a href="http://xss521.com" target="_blank">午夜日韩在线观看</a>| <a href="http://457745.com" target="_blank">亚洲高清中文字幕</a>| <a href="http://www979vv.com" target="_blank">欧美视频三区在线播放</a>| <a href="http://2016dp5330.com" target="_blank">欧美综合第一页</a>| <a href="http://bjzgmember.com" target="_blank">亚洲清纯自拍</a>| <a href="http://xindefalv.com" target="_blank">久久精品主播</a>| <a href="http://cmtqd.com" target="_blank">日韩亚洲欧美高清</a>| <a href="http://666777v3.com" target="_blank">国产美女一区二区</a>| <a href="http://www-36900.com" target="_blank">免费中文日韩</a>| <a href="http://cmtqd.com" target="_blank">性欧美xxxx视频在线观看</a>| <a href="http://889644.com" target="_blank">欧美激情国产高清</a>| <a href="http://timonna.com" target="_blank">久久av二区</a>| <a href="http://4bbbbb.com" target="_blank">一本大道久久a久久综合婷婷</a>| <a href="http://5cok.com" target="_blank">国产日韩欧美不卡在线</a>| <a href="http://www49718.com" target="_blank">欧美成熟视频</a>| <a href="http://9927tv.com" target="_blank">久久国产视频网</a>| <a href="http://811897.com" target="_blank">一区二区福利</a>| <a href="http://9797690.com" target="_blank">亚洲国产成人av</a>| <a href="http://www123hao.com" target="_blank">久久久久久999</a>| <a href="http://1332233.com" target="_blank">亚洲一区视频</a>| <a href="http://cn1898.com" target="_blank">亚洲免费观看视频</a>| <a href="http://lutube666.com" target="_blank">国产综合婷婷</a>| <a href="http://dailymailnepal.com" target="_blank">国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ入口 </a>| <a href="http://7755mm.com" target="_blank">亚洲国产成人精品女人久久久</a>| <a href="http://91nbs.com" target="_blank">亚洲一区在线看</a>| <a href="http://wwww999.com" target="_blank">亚洲黄色成人网</a>| <a href="http://49vvvv.com" target="_blank">国内精品久久久久久久果冻传媒 </a>| <a href="http://www-401313.com" target="_blank">欧美大片第1页</a>| <a href="http://dv6699.com" target="_blank">久久精品成人欧美大片古装</a>| <a href="http://javdb04.com" target="_blank">一区二区欧美在线观看</a>| <a href="http://22241com.com" target="_blank">亚洲黄色免费电影</a>| <a href="http://erzhuzi.com" target="_blank">亚洲国产精品成人综合色在线婷婷</a>| <a href="http://yiluee.com" target="_blank">亚洲一区二区三区777</a>| <a href="http://sxhrsmjj.com" target="_blank">亚洲国产美女</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>