Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ :

ORACLEÊý¾Ý¿â²åÈëÐÔÄܲâÊÔ


²âÊÔ»·¾³»ù±¾ÐÅÏ¢£º
OS£ºWindows XP sp3
DB£ºOracle 9.2.0.1 Î´ÆôÓù鵵
DBÖØ×öÈÕÖ¾Îļþ´óС£º100MB
Ó²ÅÌÐͺţºSAMSUNG HD161GJ£¨SATA-300,160G,7200rpm,8M cache£©
CPU£ºIntel Core2 E8400£¨3.0G£©
Äڴ棺2G
 
ͨ¹ýHD TuneµÃµ½µÄÓ²ÅÌ»ù±¾²âÊÔÐÅÏ¢£¬
IOPS£º66
¶ÁÈ¡£º90MB/s
дÈ룺82MB/s
 
²âÊÔ±í½Å±¾£º
 
create table T_EMPLOYEE
(
  ID            NUMBER(10) not null,
  NAME          VARCHAR2(20) not null,
  CREATE_DATE   DATE default sysdate not null,
  BIRTHDAY      DATE,
  ADDRESS       VARCHAR2(200),
  EMAIL         VARCHAR2(200),
  MOBILEPHONE   VARCHAR2(11),
  TELEPHONE  &nbs ......

×ªÔØoracle rollupºÍcubeº¯ÊýʹÓÃÐĵÃ

ʹØCUBE ROLLUP GROUPING SETS£¨1£©
Ô­ÎÄÒý×Ô£º ¾ÛºÏÊÇÊý¾Ý²Ö¿âµÄ»ù´¡¡£ÎªÁËÌá¸ß¾ÛºÏµÄÐÔÄÜ¡£OracleÌṩÁËGroup By Ìõ¿îµÄÀ©Õ¹¡£
1£® CUBE, ROLLUPÀ©Õ¹
2£® 3¸ögroupingº¯Êý
3£® Grouping setÀ©Õ¹
CUBE ROLLUP GROUPING SETS¶ÔSQLµÄÀ©Õ¹Ê¹µÃ²éѯºÍ±¨¸æ¶¼±äµÃ¼òµ¥ºÍѸËÙ¡£Rollup¼ÆËãÖîÈçsum count max min avgµÄº¯Êý£¬Ôö¼ÓÁ˾ۺϵļ¶±ð.CUBEÊÇÒ»¸öÀàËÆROLLUPµÄÀ©Õ¹£¬Ê¹µÃ¿ÉÒÔÓÃÒ»¸öÓï¾ä¼ÆËãËùÓпÉÄܵľۺϡ£CUBE¿ÉÒÔͨ¹ýµ¥ÌõÉú³ÉCross-tabulation£¨½»²æ±¨±í£©±¨¸æµÄÐÅÏ¢¡£CUBE£¬ROLLUP£¬GROUPING SETSÀ©Õ¹ÁîÄã¿ÉÒÔ¾«È·µÄ¶ÔÄã¸ÐÐËȤµÄgroup by Ìõ¿î½øÐÐgrouping¡£²»ÔËÐÐcube²Ù×÷Ò²¿ÉÒÔ¸ßЧµÄ´Ó¶à¸öά¶È½øÐзÖÎö¡£¼ÆËãÒ»¸öfull cube½«»á´øÀ´ºÜ¸ßµÄ¸ºÔØ£¬ËùÒÔ½«cubeÌæ»»Îªgrouping sets¿ÉÒÔÃ÷ÏÔµØÌá¸ßÐÔÄÜ¡£CUBE ROLLUP GROUPING SETS¿ÉÒÔÉú³Éµ¥¸ö½á¹û¼¯£¬µÈЧÓÚUNION ALL¡£ÎªÁËÌá¸ßÐÔÄÜ£¬CUBE, ROLLUP, and GROUPING SETS¿ÉÒÔ²¢ÐнøÐУº¶à½ø³ÌͬʱÔËËãËùÓеÄÓï¾ä¡£ÕâÖÖ¹¦ÄÜʹµÃ¾ÛºÏ¼ÆËã¸ü¼Ó¸ßЧ£¬Òò´ËÌá¸ßÁËÊý¾Ý¿âÐÔÄܺͿɲâÐÔ¡£
Analyzing Ac ......

oracleµÄ±íµÄÖÖÀà

±íÀàÐÍ£º
1¶Ñ×éÖ¯±í£¨heap organized table£©£ºÕâЩ¾ÍÊÇ“ÆÕͨ”µÄ±ê×¼Êý¾Ý¿â±í¡£Êý¾ÝÒԶѵķ½Ê½¹ÜÀí¡£¶Ñ£¨heap£©ÊÇÒ»×é¿Õ¼ä£¬ÒÔÒ»ÖÖÓÐÐ©Ëæ»úµÄ·½Ê½Ê¹Óá£
2Ë÷Òý×éÖ¯±í£¨index organized table£©£ºÕâЩ±í°´Ë÷Òý½á¹¹´æ´¢¡£Õâ¾ÍÇ¿ÖÆÒªÇóÐб¾ÉíÓÐijÖÖÎïÀí˳Ðò¡£Ë÷Òý×éÖ¯±íIOTÖУ¬Êý¾ÝÒª¸ù¾ÝÖ÷¼üÓÐÐòµØ´æ´¢¡£
3Ë÷Òý¾Û´Ø±í£¨index clustered table£©£º¾Û´Ø£¨cluster£©ÊÇÖ¸Ò»¸ö»ò¶à¸ö±í×é³ÉµÄ×飬ÕâЩ±íÎïÀíµØ´æ´¢ÔÚÏàͬµÄÊý¾Ý¿â¿éÉÏ£¬ÓÐÏàͬ¾Û´Ø¼üÖµµÄËùÓÐÐлáÏàÁÚµØÎïÀí´æ´¢¡£
    ÕâÖֽṹ¿ÉÒÔʵÏÖÁ½¸öÄ¿±ê¡£
    Ê×ÏÈ£¬¶à¸ö±í¿ÉÒÔÎïÀíµØ´æ´¢ÔÚÒ»Æð¡£Ò»°ã¶øÑÔ£¬Äã¿ÉÄÜÈÏΪһ¸ö±íµÄÊý¾Ý¾ÍÔÚÒ»¸öÊý¾Ý¿â¿éÉÏ£¬µ«ÊǶÔÓÚ¾Û´Ø±í£¬¿ÉÄܰѶà¸ö±íµÄÊý¾Ý´æ´¢ÔÚͬһ¸ö¿éÉÏ¡£
    Æä´Î£¬°üº¬Ïàͬ¾Û´Ø¼üÖµ£¨ÈçDEPTNO=10£©µÄËùÓÐÊý¾Ý»áÎïÀíµØ´æ´¢ÔÚÒ»Æð¡£ÕâЩÊý¾Ý°´¾Û´Ø¼üÖµ“¾Û´Ø”ÔÚÒ»Æð¡£¾Û´Ø¼üʹÓÃB*Ê÷Ë÷Òý½¨Á¢¡£
4É¢ÁÐ¾Û´Ø±í£¨hash clustered table£©£ºÕâЩ±íÀàËÆÓÚ¾Û´Ø±í£¬µ«ÊDz»Ê¹ÓÃB*Ê÷Ë÷Òý¾Û´Ø¼üÀ´¶¨Î»Êý¾Ý£¬É¢Áо۴ؽ«¼üÉ¢Áе½¾Û´ØÉÏ£¬´Ó¶øÕÒµ½Êý¾ÝÓ¦¸ÃÔÚÄĸöÊý¾Ý¿â¿éÉÏ¡£
    ÔÚÉ¢Áо۴ØÖ ......

ÔÚOracleÖеÄÊ÷ÐβÙ×÷

ÔÚOracleÖеÄÊ÷ÐβÙ×÷
1.È¡×ӽڵ㼰·¾¶(ÕýÊ÷):
select t.id ,t.code, t.name ,t.pid
,SYS_CONNECT_BY_PATH(t.id,'.')||'.' as IdPath
from tas_catalog t
--where id!=110
start with id=110
connect by  pid = prior id
order siblings  by id
2.È¡¸÷¼¶¸¸½Úµã(µ¹Ê÷)£º
select t.id ,t.code, t.name ,t.pid
,SYS_CONNECT_BY_PATH(t.id,'.')||'.' as IdPath --·¾¶´Ó·´µÄ
from tas_catalog t
--where id!=110
start with id=110
connect by  id = prior pid
order siblings  by id
ÎÞÂÛÕýÊ÷»¹Êǵ¹Ê÷, ¹Ø¼ü¾ÍÔÚÓÚconnect byµÄÌõ¼þ.
ÕýÊ÷:   ±ØÐëÊÇ   ‘¸¸’= prior ‘×Ó’
µ¹Ê÷:   ±ØÐëÊÇ   ‘×Ó’= prior ‘¸¸’ ......

¿ìËÙɾ³ýoracleÖØ¸´¼Ç¼


×ܽáÁËÒ»ÏÂɾ³ýÖØ¸´¼Ç¼µÄ·½·¨£¬ÒÔ¼°Ã¿ÖÖ·½·¨µÄÓÅȱµã¡£
¼ÙÉè±íÃûΪTbl£¬±íÖÐÓÐÈýÁÐcol1£¬col2£¬col3£¬ÆäÖÐcol1£¬col2ÊÇÖ÷¼ü£¬²¢ÇÒ£¬col1£¬col2ÉϼÓÁËË÷Òý¡£
1¡¢Í¨¹ý´´½¨ÁÙʱ±í
¿ÉÒÔ°ÑÊý¾ÝÏȵ¼Èëµ½Ò»¸öÁÙʱ±íÖУ¬È»ºóɾ³ýÔ­±íµÄÊý¾Ý£¬ÔÙ°ÑÊý¾Ýµ¼»ØÔ­±í£¬SQLÓï¾äÈçÏ£º
creat table tbl_tmp (select distinct* from tbl);
truncate table tbl;//Çå¿Õ±í¼Ç¼
insert into tbl select * from tbl_tmp;//½«ÁÙʱ±íÖеÄÊý¾Ý²å»ØÀ´¡£
ÕâÖÖ·½·¨¿ÉÒÔʵÏÖÐèÇ󣬵«ÊǺÜÃ÷ÏÔ£¬¶ÔÓÚÒ»¸öǧÍò¼¶¼Ç¼µÄ±í£¬ÕâÖÖ·½·¨ºÜÂý£¬ÔÚÉú²úϵͳÖУ¬Õâ»á¸øÏµÍ³´øÀ´ºÜ´óµÄ¿ªÏú£¬²»¿ÉÐС£
2¡¢ÀûÓÃrowid
ÔÚoracleÖУ¬Ã¿Ò»Ìõ¼Ç¼¶¼ÓÐÒ»¸örowid£¬rowidÔÚÕû¸öÊý¾Ý¿âÖÐÊÇΨһµÄ£¬rowidÈ·¶¨ÁËÿÌõ¼Ç¼ÊÇoracleÖеÄÄÄÒ»¸öÊý¾ÝÎļþ¡¢¿é¡¢ÐÐÉÏ¡£ÔÚÖØ¸´µÄ¼Ç¼ÖУ¬¿ÉÄÜËùÓÐÁеÄÄÚÈݶ¼Ïàͬ£¬µ«rowid²»»áÏàͬ¡£SQLÓï¾äÈçÏ£º
delete from tbl where rowid in (select a.rowid from tbl a, tbl b where a.rowid>b.rowid and a.col1=b.col1 and a.col2 = b.col2)
Èç¹ûÒѾ­ÖªµÀÿÌõ¼Ç¼ֻÓÐÒ»ÌõÖØ¸´µÄ£¬Õâ¸ösqlÓï¾äÊÊÓᣵ«ÊÇÈç¹ûÿÌõ¼Ç¼µÄÖØ¸´¼Ç¼ÓÐNÌõ£¬Õâ¸öNÊÇδ֪µÄ£¬¾ÍÒª¿¼ÂÇÊÊÓÃÏÂÃæÕâÖÖ·½·¨ÁË¡£
3¡¢À ......

ORACLE 10 (¸¶Ê×ê¿)ѧϰ±Ê¼Ç µÚ2½Ú ÃüÁî¡£

ORACLE 10 ѧϰ±Ê¼Ç-µÚ2½Ú-ÃüÁî¡£
1. inner join / left join/ right join / full join
select a.dname, b.ename from dept a, emp b where a.deptno=b.deptno and a.deptno=10;
select a.dname, b.ename from dept a inner join emp b
on a.deptno=b.deptno and a.deptno=10;
select dname,ename from dept natural join emp;
select a.dname,b.ename from dept a left join emp b
on a.deptno=b.deptno and a.deptno=10;
select a.dname, b.ename from dept a right join emp b
on a.deptno=b.deptno and a.deptno=10;
select a.dname, b.ename from dept a, emp b where a.deptno=b.deptno(+) and b.deptno(+)=10;
2. µ¥ÐÐ×Ó²éѯ
select ename,sal,deptno from emp where deptno=
(select deptno from emp where ename='scott');
select ename,job,sal,deptno from emp where job in
(select distinct job from emp where deptno=10);
select ename,sal,deptno from emp where sal>all
(select sal from emp where deptno=30);
3.½¨Á¢´¥·¢Æ÷
create [or replace] trigger grigger_name
timing event1 [or event2 or event3]
on table_name
pl ......
×ܼǼÊý:40319; ×ÜÒ³Êý:6720; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [2244] [2245] [2246] [2247] 2248 [2249] [2250] [2251] [2252] [2253]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ