asp.net 2.0鏈変竴涓壒孌婄洰褰昦pp_data,閫氬父Sql Server 2005 express鏁版嵁鏂囦歡灝辨斁鍦ㄨ繖涓洰褰曪紝鐩稿簲鐨勬暟鎹簱榪炴帴涓插氨鏄細 connectionString="鈥︹?data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|data.mdf;User Instance=true" 榪欓噷鏈変竴涓狣ataDirectory鐨勫畯錛屽畠琛ㄧず浠涔堟剰涔夊憿錛?/p>
]]>oracle鏁村簱瀵煎嚭http://www.tkk7.com/colanlei/articles/288218.html浜哄湪鏃呴?/dc:creator>浜哄湪鏃呴?/author>Fri, 24 Jul 2009 07:35:00 GMThttp://www.tkk7.com/colanlei/articles/288218.htmlhttp://www.tkk7.com/colanlei/comments/288218.htmlhttp://www.tkk7.com/colanlei/articles/288218.html#Feedback0http://www.tkk7.com/colanlei/comments/commentRss/288218.htmlhttp://www.tkk7.com/colanlei/services/trackbacks/288218.html浠婂ぉcreate db instance錛宻qlplus 鐧誨綍鍚庨亣鍒癙LS-00201榪欎釜閿欙細
SQL> set serveroutput on ERROR: ORA-06550: line 1, column 7: PLS-00201: identifier 'DBMS_OUTPUT.ENABLE' must be declared ORA-06550: line 1, column 7: PL/SQL: Statement ignored
SQL> exec dbms_output.enable(10000); BEGIN dbms_output.enable(10000); END;
聽 聽聽 聽* ERROR at line 1: ORA-06550: line 1, column 7: PLS-00201: identifier 'DBMS_OUTPUT.ENABLE' must be declared ORA-06550: line 1, column 7: PL/SQL: Statement ignored
瑙e喅鍔炴硶錛?/p>
1. use sysdba to execute two sql(/$Oracle_home/rdbms/admin).
logging as sysdba try to run standard.sql,catalog.sql
2. use sys and system to execute these sql scr墨pt
as SYS (or connect internal) $Oracle_home/rdbms/admin/catalog.sql $Oracle_home/rdbms/admin/catsnmp.sql $Oracle_home/rdbms/admin/catexp7.sql $Oracle_home/rdbms/admin/catproc.sql $Oracle_home/rdbms/admin/caths.sql as SYSTEM (not SYS) $Oracle_home/rdbms/admin/catdbsyn.sql
unix 閲嶅惎oracle
su -oracle
sqlplus / as sysdba
shutdown immediate;
startup
]]>group by http://www.tkk7.com/colanlei/archive/2008/08/25/224092.html浜哄湪鏃呴?/dc:creator>浜哄湪鏃呴?/author>Mon, 25 Aug 2008 03:10:00 GMThttp://www.tkk7.com/colanlei/archive/2008/08/25/224092.htmlhttp://www.tkk7.com/colanlei/comments/224092.htmlhttp://www.tkk7.com/colanlei/archive/2008/08/25/224092.html#Feedback0http://www.tkk7.com/colanlei/comments/commentRss/224092.htmlhttp://www.tkk7.com/colanlei/services/trackbacks/224092.htmlgroup by 鏈変竴涓師鍒?灝辨槸 select 鍚庨潰鐨勬墍鏈夊垪涓?娌℃湁浣跨敤鑱氬悎鍑芥暟鐨勫垪,蹇呴』鍑虹幇鍦?group by 鍚庨潰
]]>楂樻晥oracle鏌ヨhttp://www.tkk7.com/colanlei/archive/2008/07/18/215705.html浜哄湪鏃呴?/dc:creator>浜哄湪鏃呴?/author>Fri, 18 Jul 2008 03:18:00 GMThttp://www.tkk7.com/colanlei/archive/2008/07/18/215705.htmlhttp://www.tkk7.com/colanlei/comments/215705.htmlhttp://www.tkk7.com/colanlei/archive/2008/07/18/215705.html#Feedback0http://www.tkk7.com/colanlei/comments/commentRss/215705.htmlhttp://www.tkk7.com/colanlei/services/trackbacks/215705.html銆銆ORACLE鐨勪紭鍖栧櫒鍏辨湁3縐?
銆銆a. RULE (鍩轟簬瑙勫垯) b. COST (鍩轟簬鎴愭湰) c. CHOOSE (閫夋嫨鎬?
銆銆璁劇疆緙虹渷鐨勪紭鍖栧櫒,鍙互閫氳繃瀵筰nit.ora鏂囦歡涓璒PTIMIZER_MODE鍙傛暟鐨勫悇縐嶅0鏄?濡俁ULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 浣犲綋鐒朵篃鍦⊿QL鍙ョ駭鎴栨槸浼氳瘽(session)綰у鍏惰繘琛岃鐩?
銆銆涓轟簡浣跨敤鍩轟簬鎴愭湰鐨勪紭鍖栧櫒(CBO, Cost-Based Optimizer) , 浣犲繀欏葷粡甯歌繍琛宎nalyze 鍛戒護,浠ュ鍔犳暟鎹簱涓殑瀵硅薄緇熻淇℃伅(object statistics)鐨勫噯紜?
銆銆濡傛灉鏁版嵁搴撶殑浼樺寲鍣ㄦā寮忚緗負閫夋嫨鎬?CHOOSE),閭d箞瀹為檯鐨勪紭鍖栧櫒妯″紡灝嗗拰鏄惁榪愯榪嘺nalyze鍛戒護鏈夊叧. 濡傛灉table宸茬粡琚玜nalyze榪? 浼樺寲鍣ㄦā寮忓皢鑷姩鎴愪負CBO , 鍙嶄箣,鏁版嵁搴撳皢閲囩敤RULE褰㈠紡鐨勪紭鍖栧櫒.
銆銆鍦ㄧ己鐪佹儏鍐典笅,ORACLE閲囩敤CHOOSE浼樺寲鍣? 涓轟簡閬垮厤閭d簺涓嶅繀瑕佺殑鍏ㄨ〃鎵弿(full table scan) , 浣犲繀欏誨敖閲忛伩鍏嶄嬌鐢–HOOSE浼樺寲鍣?鑰岀洿鎺ラ噰鐢ㄥ熀浜庤鍒欐垨鑰呭熀浜庢垚鏈殑浼樺寲鍣?
銆銆2. 璁塊棶Table鐨勬柟寮?
銆銆ORACLE 閲囩敤涓ょ璁塊棶琛ㄤ腑璁板綍鐨勬柟寮?
銆銆a. 鍏ㄨ〃鎵弿
銆銆鍏ㄨ〃鎵弿灝辨槸欏哄簭鍦拌闂〃涓瘡鏉¤褰? ORACLE閲囩敤涓嬈¤鍏ュ涓暟鎹潡(database block)鐨勬柟寮忎紭鍖栧叏琛ㄦ壂鎻?
銆銆b. 閫氳繃ROWID璁塊棶琛?
銆銆浣犲彲浠ラ噰鐢ㄥ熀浜嶳OWID鐨勮闂柟寮忔儏鍐?鎻愰珮璁塊棶琛ㄧ殑鏁堢巼, ,
ROWID鍖呭惈浜嗚〃涓褰曠殑鐗╃悊浣嶇疆淇℃伅..ORACLE閲囩敤绱㈠紩(INDEX)瀹炵幇浜嗘暟鎹拰瀛樻斁鏁版嵁鐨勭墿鐞嗕綅緗?ROWID)涔嬮棿鐨勮仈緋?
閫氬父绱㈠紩鎻愪緵浜嗗揩閫熻闂甊OWID鐨勬柟娉?鍥犳閭d簺鍩轟簬绱㈠紩鍒楃殑鏌ヨ灝卞彲浠ュ緱鍒版ц兘涓婄殑鎻愰珮. 銆銆3. 鍏變韓SQL璇彞
銆銆涓轟簡涓嶉噸澶嶈В鏋愮浉鍚岀殑SQL璇彞,鍦ㄧ涓嬈¤В鏋愪箣鍚? ORACLE灝哠QL璇彞瀛樻斁鍦ㄥ唴瀛樹腑.榪欏潡浣嶄簬緋葷粺鍏ㄥ眬鍖哄煙SGA(system
global area)鐨勫叡浜睜(shared buffer pool)涓殑鍐呭瓨鍙互琚墍鏈夌殑鏁版嵁搴撶敤鎴峰叡浜?
鍥犳,褰撲綘鎵ц涓涓猄QL璇彞(鏈夋椂琚О涓轟竴涓父鏍?鏃?濡傛灉瀹?鍜屼箣鍓嶇殑鎵ц榪囩殑璇彞瀹屽叏鐩稿悓,
ORACLE灝辮兘寰堝揩鑾峰緱宸茬粡琚В鏋愮殑璇彞浠ュ強鏈濂界殑鎵ц璺緞. ORACLE鐨勮繖涓姛鑳藉ぇ澶у湴鎻愰珮浜哠QL鐨勬墽琛屾ц兘騫惰妭鐪佷簡鍐呭瓨鐨勪嬌鐢? 銆銆鍙儨鐨勬槸ORACLE鍙綆鍗曠殑琛ㄦ彁渚涢珮閫熺紦鍐?cache buffering) ,榪欎釜鍔熻兘騫朵笉閫傜敤浜庡琛ㄨ繛鎺ユ煡璇?
銆銆鏁版嵁搴撶鐞嗗憳蹇呴』鍦╥nit.ora涓負榪欎釜鍖哄煙璁劇疆鍚堥傜殑鍙傛暟,褰撹繖涓唴瀛樺尯鍩熻秺澶?灝卞彲浠ヤ繚鐣欐洿澶氱殑璇彞,褰撶劧琚叡浜殑鍙兘鎬т篃灝辮秺澶т簡.
銆銆褰撲綘鍚慜RACLE 鎻愪氦涓涓猄QL璇彞,ORACLE浼氶鍏堝湪榪欏潡鍐呭瓨涓煡鎵劇浉鍚岀殑璇彞.
銆銆榪欓噷闇瑕佹敞鏄庣殑鏄?ORACLE瀵逛袱鑰呴噰鍙栫殑鏄竴縐嶄弗鏍煎尮閰?瑕佽揪鎴愬叡浜?SQL璇彞蹇呴』瀹屽叏鐩稿悓(鍖呮嫭絀烘牸,鎹㈣絳?.
銆銆鍏變韓鐨勮鍙ュ繀欏繪弧瓚充笁涓潯浠?
銆銆A. 瀛楃綰х殑姣旇緝:
銆銆褰撳墠琚墽琛岀殑璇彞鍜屽叡浜睜涓殑璇彞蹇呴』瀹屽叏鐩稿悓.
銆銆渚嬪:
銆銆SELECT * FROM EMP;
銆銆鍜屼笅鍒楁瘡涓涓兘涓嶅悓
銆銆SELECT * from EMP;
銆銆Select * From Emp;
銆銆SELECT * FROM EMP;
銆銆B. 涓や釜璇彞鎵鎸囩殑瀵硅薄蹇呴』瀹屽叏鐩稿悓:
銆銆渚嬪:
銆銆鐢ㄦ埛 瀵硅薄鍚?濡備綍璁塊棶
銆銆Jack sal_limit private synonym
銆銆Work_city public synonym
銆銆Plant_detail public synonym
銆銆Jill sal_limit private synonym
銆銆Work_city public synonym
銆銆Plant_detail table owner
銆銆鑰冭檻涓涓嬩笅鍒桽QL璇彞鑳藉惁鍦ㄨ繖涓や釜鐢ㄦ埛涔嬮棿鍏變韓.
銆銆SQL鑳藉惁鍏變韓錛屽師鍥?
select max(sal_cap) from sal_limit;
銆銆涓嶈兘銆傛瘡涓敤鎴烽兘鏈変竴涓猵rivate synonym - sal_limit , 瀹冧滑鏄笉鍚岀殑瀵硅薄
銆銆select count(*0 from work_city where sdesc like 'NEW%';
銆銆鑳姐備袱涓敤鎴瘋闂浉鍚岀殑瀵硅薄public synonym - work_city
select a.sdesc,b.location from work_city a , plant_detail b where a.city_id = b.city_id
銆銆涓嶈兘銆傜敤鎴穓ack 閫氳繃private synonym璁塊棶plant_detail 鑰宩ill 鏄〃鐨勬墍鏈夎?瀵硅薄涓嶅悓.
銆銆C. 涓や釜SQL璇彞涓繀欏諱嬌鐢ㄧ浉鍚岀殑鍚嶅瓧鐨勭粦瀹氬彉閲?bind variables)
銆銆渚嬪錛?
銆銆絎竴緇勭殑涓や釜SQL璇彞鏄浉鍚岀殑(鍙互鍏變韓),鑰岀浜岀粍涓殑涓や釜璇彞鏄笉鍚岀殑(鍗充嬌鍦ㄨ繍琛屾椂,璧嬩簬涓嶅悓鐨勭粦瀹氬彉閲忕浉鍚岀殑鍊?
銆銆a.
銆銆select pin , name from people where pin = :blk1.pin;
銆銆select pin , name from people where pin = :blk1.pin;
銆銆b.
銆銆select pin , name from people where pin = :blk1.ot_ind;
銆銆select pin , name from people where pin = :blk1.ov_ind;
銆銆4. 閫夋嫨鏈鏈夋晥鐜囩殑琛ㄥ悕欏哄簭(鍙湪鍩轟簬瑙勫垯鐨勪紭鍖栧櫒涓湁鏁?
銆銆ORACLE鐨勮В鏋愬櫒鎸夌収浠庡彸鍒板乏鐨勯『搴忓鐞咶ROM瀛愬彞涓殑琛ㄥ悕,鍥犳FROM瀛愬彞涓啓鍦ㄦ渶鍚庣殑琛?鍩虹琛?driving
table)灝嗚鏈鍏堝鐞? 鍦‵ROM瀛愬彞涓寘鍚涓〃鐨勬儏鍐典笅,浣犲繀欏婚夋嫨璁板綍鏉℃暟鏈灝戠殑琛ㄤ綔涓哄熀紜琛?褰揙RACLE澶勭悊澶氫釜琛ㄦ椂,
浼氳繍鐢ㄦ帓搴忓強鍚堝茍鐨勬柟寮忚繛鎺ュ畠浠?棣栧厛,鎵弿絎竴涓〃(FROM瀛愬彞涓渶鍚庣殑閭d釜琛?騫跺璁板綍榪涜媧懼簭,鐒跺悗鎵弿絎簩涓〃(FROM瀛愬彞涓渶鍚庣浜屼釜
琛?,鏈鍚庡皢鎵鏈変粠絎簩涓〃涓绱㈠嚭鐨勮褰曚笌絎竴涓〃涓悎閫傝褰曡繘琛屽悎騫? 銆銆渚嬪:
銆銆琛?TAB1 16,384 鏉¤褰?
銆銆琛?TAB2 1 鏉¤褰?
銆銆閫夋嫨TAB2浣滀負鍩虹琛?(鏈濂界殑鏂規硶)
select count(*) from tab1,tab2 鎵ц鏃墮棿0.96縐?
銆銆閫夋嫨TAB2浣滀負鍩虹琛?(涓嶄匠鐨勬柟娉?
select count(*) from tab2,tab1 鎵ц鏃墮棿26.09縐?
銆銆濡傛灉鏈?涓互涓婄殑琛ㄨ繛鎺ユ煡璇? 閭e氨闇瑕侀夋嫨浜ゅ弶琛?intersection table)浣滀負鍩虹琛? 浜ゅ弶琛ㄦ槸鎸囬偅涓鍏朵粬琛ㄦ墍寮曠敤鐨勮〃.
銆銆渚嬪:
銆銆EMP琛ㄦ弿榪頒簡LOCATION琛ㄥ拰CATEGORY琛ㄧ殑浜ら泦.
SELECT *
FROM LOCATION L ,
CATEGORY C,
EMP E
WHERE E.EMP_NO BETWEEN 1000 AND 2000
AND E.CAT_NO = C.CAT_NO
AND E.LOCN = L.LOCN
銆銆灝嗘瘮涓嬪垪SQL鏇存湁鏁堢巼
SELECT *
FROM EMP E ,
LOCATION L ,
CATEGORY C
WHERE E.CAT_NO = C.CAT_NO
AND E.LOCN = L.LOCN
AND E.EMP_NO BETWEEN 1000 AND 2000
銆銆5. WHERE瀛愬彞涓殑榪炴帴欏哄簭錛?
銆銆ORACLE閲囩敤鑷笅鑰屼笂鐨勯『搴忚В鏋怶HERE瀛愬彞,鏍規嵁榪欎釜鍘熺悊,琛ㄤ箣闂寸殑榪炴帴蹇呴』鍐欏湪鍏朵粬WHERE鏉′歡涔嬪墠, 閭d簺鍙互榪囨護鎺夋渶澶ф暟閲忚褰曠殑鏉′歡蹇呴』鍐欏湪WHERE瀛愬彞鐨勬湯灝?
銆銆渚嬪: (浣庢晥,鎵ц鏃墮棿156.3縐?
SELECT 鈥?
FROM EMP E
WHERE SAL > 50000
AND JOB = 鈥楳ANAGER'
AND 25 < (SELECT COUNT(*) FROM EMP
WHERE MGR=E.EMPNO);
銆銆(楂樻晥,鎵ц鏃墮棿10.6縐?
SELECT 鈥?
FROM EMP E
WHERE 25 < (SELECT COUNT(*) FROM EMP
WHERE MGR=E.EMPNO)
AND SAL > 50000
AND JOB = 鈥楳ANAGER';
銆銆6. SELECT瀛愬彞涓伩鍏嶄嬌鐢?鈥?* 鈥?
銆銆褰撲綘鎯沖湪SELECT瀛愬彞涓垪鍑烘墍鏈夌殑COLUMN鏃?浣跨敤鍔ㄦ丼QL鍒楀紩鐢?鈥?'
鏄竴涓柟渚跨殑鏂規硶.涓嶅垢鐨勬槸,榪欐槸涓涓潪甯鎬綆鏁堢殑鏂規硶. 瀹為檯涓?ORACLE鍦ㄨВ鏋愮殑榪囩▼涓? 浼氬皢'*' 渚濇杞崲鎴愭墍鏈夌殑鍒楀悕,
榪欎釜宸ヤ綔鏄氳繃鏌ヨ鏁版嵁瀛楀吀瀹屾垚鐨? 榪欐剰鍛崇潃灝嗚楄垂鏇村鐨勬椂闂? 銆銆7. 鍑忓皯璁塊棶鏁版嵁搴撶殑嬈℃暟
銆銆褰撴墽琛屾瘡鏉QL璇彞鏃? ORACLE鍦ㄥ唴閮ㄦ墽琛屼簡璁稿宸ヤ綔: 瑙f瀽SQL璇彞, 浼扮畻绱㈠紩鐨勫埄鐢ㄧ巼, 緇戝畾鍙橀噺 , 璇繪暟鎹潡絳夌瓑. 鐢辨鍙, 鍑忓皯璁塊棶鏁版嵁搴撶殑嬈℃暟 , 灝辮兘瀹為檯涓婂噺灝慜RACLE鐨勫伐浣滈噺.
銆銆渚嬪, 浠ヤ笅鏈変笁縐嶆柟娉曞彲浠ユ绱㈠嚭闆囧憳鍙風瓑浜?342鎴?291鐨勮亴鍛?
銆銆鏂規硶1 (鏈浣庢晥)
SELECT EMP_NAME , SALARY , GRADE
FROM EMP
WHERE EMP_NO = 342;
SELECT EMP_NAME , SALARY , GRADE
FROM EMP
WHERE EMP_NO = 291;
銆銆鏂規硶2 (嬈′綆鏁?
DECLARE
CURSOR C1 (E_NO NUMBER) IS
SELECT EMP_NAME,SALARY,GRADE
FROM EMP
WHERE EMP_NO = E_NO;
BEGIN
OPEN C1(342);
FETCH C1 INTO 鈥?..,.. ;
鈥?.
OPEN C1(291);
FETCH C1 INTO 鈥?..,.. ;
CLOSE C1;
END;
銆銆鏂規硶3 (楂樻晥)
SELECT A.EMP_NAME , A.SALARY , A.GRADE,
B.EMP_NAME , B.SALARY , B.GRADE
FROM EMP A,EMP B
WHERE A.EMP_NO = 342
AND B.EMP_NO = 291;
銆銆娉ㄦ剰:
銆銆鍦⊿QL*Plus , SQL*Forms鍜孭ro*C涓噸鏂拌緗瓵RRAYSIZE鍙傛暟, 鍙互澧炲姞姣忔鏁版嵁搴撹闂殑媯绱㈡暟鎹噺 ,寤鴻鍊間負200銆?
銆銆8. 浣跨敤DECODE鍑芥暟鏉ュ噺灝戝鐞嗘椂闂?
銆銆浣跨敤DECODE鍑芥暟鍙互閬垮厤閲嶅鎵弿鐩稿悓璁板綍鎴栭噸澶嶈繛鎺ョ浉鍚岀殑琛?
銆銆渚嬪:
SELECT COUNT(*)錛孲UM(SAL) FROM銆EMP
WHERE DEPT_NO = 0020
AND ENAME LIKE銆鈥楽MITH%';
SELECT COUNT(*)錛孲UM(SAL)
FROM銆EMP
WHERE DEPT_NO = 0030
AND ENAME LIKE銆鈥楽MITH%';
銆銆浣犲彲浠ョ敤DECODE鍑芥暟楂樻晥鍦板緱鍒扮浉鍚岀粨鏋?
SELECT COUNT(DECODE(DEPT_NO,0020,'X',NULL)) D0020_COUNT,
COUNT(DECODE(DEPT_NO,0030,'X',NULL)) D0030_COUNT,
SUM(DECODE(DEPT_NO,0020,SAL,NULL)) D0020_SAL,
SUM(DECODE(DEPT_NO,0030,SAL,NULL)) D0030_SAL
FROM EMP WHERE ENAME LIKE 鈥楽MITH%';
銆銆綾諱技鐨?DECODE鍑芥暟涔熷彲浠ヨ繍鐢ㄤ簬GROUP BY 鍜孫RDER BY瀛愬彞涓?
銆銆9. 鏁村悎綆鍗?鏃犲叧鑱旂殑鏁版嵁搴撹闂?
銆銆濡傛灉浣犳湁鍑犱釜綆鍗曠殑鏁版嵁搴撴煡璇㈣鍙?浣犲彲浠ユ妸瀹冧滑鏁村悎鍒頒竴涓煡璇腑(鍗充嬌瀹冧滑涔嬮棿娌℃湁鍏崇郴)
銆銆渚嬪:
SELECT NAME FROM EMP
WHERE EMP_NO = 1234;
SELECT NAME FROM DPT
WHERE DPT_NO = 10 ;
SELECT NAME FROM CAT
WHERE CAT_TYPE = 鈥楻D';
銆銆涓婇潰鐨?涓煡璇㈠彲浠ヨ鍚堝茍鎴愪竴涓?
SELECT E.NAME , D.NAME , C.NAME FROM CAT C , DPT D , EMP E,DUAL X
WHERE NVL(鈥榅',X.DUMMY) = NVL(鈥榅',E.ROWID(+))
AND NVL(鈥榅',X.DUMMY) = NVL(鈥榅',D.ROWID(+))
AND NVL(鈥榅',X.DUMMY) = NVL(鈥榅',C.ROWID(+))
AND E.EMP_NO(+) = 1234
AND D.DEPT_NO(+) = 10
AND C.CAT_TYPE(+) = 鈥楻D';
銆銆(璇戣呮寜: 铏界劧閲囧彇榪欑鏂規硶,鏁堢巼寰楀埌鎻愰珮,浣嗘槸紼嬪簭鐨勫彲璇繪уぇ澶ч檷浣?鎵浠ヨ鑰?榪樻槸瑕佹潈琛′箣闂寸殑鍒╁紛)
銆銆10. 鍒犻櫎閲嶅璁板綍
銆銆鏈楂樻晥鐨勫垹闄ら噸澶嶈褰曟柟娉?( 鍥犱負浣跨敤浜哛OWID)
DELETE FROM EMP E
WHERE E.ROWID > (SELECT MIN(X.ROWID)
FROM EMP X
WHERE X.EMP_NO = E.EMP_NO);
銆銆11. 鐢═RUNCATE鏇夸唬DELETE
銆銆褰撳垹闄よ〃涓殑璁板綍鏃?鍦ㄩ氬父鎯呭喌涓? 鍥炴粴孌?rollback segments ) 鐢ㄦ潵瀛樻斁鍙互琚仮澶嶇殑淇℃伅.
濡傛灉浣犳病鏈塁OMMIT浜嬪姟,ORACLE浼氬皢鏁版嵁鎭㈠鍒板垹闄や箣鍓嶇殑鐘舵?鍑嗙‘鍦拌鏄仮澶嶅埌鎵ц鍒犻櫎鍛戒護涔嬪墠鐨勭姸鍐? 錛岃屽綋榪愮敤TRUNCATE鏃?
鍥炴粴孌典笉鍐嶅瓨鏀句換浣曞彲琚仮澶嶇殑淇℃伅.褰撳懡浠よ繍琛屽悗,鏁版嵁涓嶈兘琚仮澶?鍥犳寰堝皯鐨勮祫婧愯璋冪敤,鎵ц鏃墮棿涔熶細寰堢煭銆?娉細
TRUNCATE鍙湪鍒犻櫎鍏ㄨ〃閫傜敤,TRUNCATE鏄疍DL涓嶆槸DML) 銆銆12. 灝介噺澶氫嬌鐢–OMMIT
銆銆鍙鏈夊彲鑳?鍦ㄧ▼搴忎腑灝介噺澶氫嬌鐢–OMMIT, 榪欐牱紼嬪簭鐨勬ц兘寰楀埌鎻愰珮,闇姹備篃浼氬洜涓篊OMMIT鎵閲婃斁鐨勮祫婧愯屽噺灝?
銆銆COMMIT鎵閲婃斁鐨勮祫婧?
銆銆a. 鍥炴粴孌典笂鐢ㄤ簬鎭㈠鏁版嵁鐨勪俊鎭?
銆銆b. 琚▼搴忚鍙ヨ幏寰楃殑閿?
銆銆c. redo log buffer 涓殑絀洪棿
銆銆d. Oracle涓虹鐞嗕笂榪?縐嶈祫婧愪腑鐨勫唴閮ㄨ姳璐?
銆銆(娉細鍦ㄤ嬌鐢–OMMIT鏃跺繀欏昏娉ㄦ剰鍒頒簨鍔$殑瀹屾暣鎬?鐜板疄涓晥鐜囧拰浜嬪姟瀹屾暣鎬у線寰鏄奔鍜岀唺鎺屼笉鍙緱鍏?
銆銆濡傛灉DECODE鍙栧間負NULL錛孲UM錛圢ULL錛夌殑鍊兼槸NULL -->濡傛灉鎵鏈夌殑鍊奸兘鏄疦ULL , SUM(NULL) = NULL 浣嗘槸鍙鏈変竴涓間笉鏄疦ULL,SUM() <> NULL 鎵浠ュ師SQL搴旇娌℃湁浠涔堥昏緫涓婄殑闂
銆銆鍏充簬絎叓鐐圭殑涓漢鐪嬫硶錛氬鏋淒ECODE鍙栧間負NULL錛孲UM錛圢ULL錛夌殑鍊兼槸NULL錛屼笉浼氭甯告眰鍜岀殑銆傚彲浠ユ敼鎴愬涓嬫墍紺哄氨濂戒簡錛?
SELECT COUNT(DECODE(DEPT_NO,0020,'X',NULL)) D0020_COUNT,
COUNT(DECODE(DEPT_NO,0030,'X',NULL)) D0030_COUNT,
SUM(DECODE(DEPT_NO,0020,SAL,0)) D0020_SAL,
SUM(DECODE(DEPT_NO,0030,SAL,0)) D0030_SAL FROM EMP WHERE ENAME LIKE
鈥楽MITH%';