Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Oracle Dimension £¨Oracle ά£©

 
ÔÚÊý¾Ý²Ö¿â»·¾³ÖУ¬ÎÒÃÇͨ³£ÀûÓÃÎﻯÊÓͼǿ´óµÄ²éѯÖØд¹¦ÄÜÀ´ÌáÉýͳ¼Æ²éѯµÄÐÔÄÜ£¬µ«ÊÇÎﻯÊÓͼµÄ²éѯÖØд¹¦ÄÜÓÐʱºòÎÞ·¨ÖÇÄܵØÅжϲéѯÖÐһЩÏà¹ØÁªµÄÌõ¼þ£¬ÒÔÖÁÓÚÓ°ÏìÐÔÄÜ¡£±ÈÈçÎÒÃÇÓÐÒ»ÕÅÏúÊÛ±ísales£¬ÓÃÓÚ´æ´¢¶©µ¥µÄÏêϸÐÅÏ¢£¬°üº¬½»Ò×ÈÕÆÚ¡¢¹Ë¿Í±àºÅºÍÏúÊÛÁ¿¡£ÎÒÃÇ´´½¨Ò»ÕÅÎﻯÊÓͼ£¬°´Ô´洢ÀÛ¼ÆÏúÁ¿ÐÅÏ¢£¬¼ÙÈçÕâʱºòÎÒÃÇÒª²éѯ°´¼¾¶È»òÕß°´Äê¶Èͳ¼ÆÏúÁ¿ÐÅÏ¢£¬OracleÊÇ·ñÄܹ»ÖÇÄܵØת»»²éѯÖØдÄØ£¿ÎÒÃÇÖªµÀ½»Ò×ÈÕÆÚÖеÄÈÕÆÚÒâζ×ÅÔ£¬ÔÂÒâζ×ÅËù´¦µÄ¼¾¶È£¬¼¾¶ÈÒâζ×ÅÄê¶È£¬µ«ÊÇOracleÈ´ÊÇÎÞ·¨ÖÇÄܵØÅжÏÕâÆäÖеĹØϵ£¬Òò´ËÎÞ·¨ÀûÓÃÎﻯÊÓͼ²éѯÖØдÀ´·µ»ØÎÒÃǼ¾¶È»òÄê¶ÈµÄÏúÁ¿ÐÅÏ¢£¬¶øÊÇÖ±½Ó²éѯ»ù±í£¬µ¼ÖÂÐÔÄܲúÉúÎÊÌâ¡£
ÕâʱºòDimension¾ÍÅÉÉÏÓó¡ÁË¡£DimensionÓÃÓÚ˵Ã÷ÁÐÖ®¼äµÄ¸¸×Ó¶ÔÓ¦¹Øϵ£¬ÒÔʹÓÅ»¯Æ÷Äܹ»×Ô¶¯×ª»»²»Í¬ÁеĹØϵ£¬ÀûÓÃÎﻯÊÓͼµÄ²éѯ¹¦ÄÜÀ´ÌáÉý²éѯͳ¼ÆÐÔÄÜ¡£ÏÂÃæÎÒÃÇÊ×ÏÈ´´½¨Ò»ÕÅÏúÊÛ½»Ò×±ísales£¬°üº¬½»Ò×ÈÕÆÚ¡¢¹Ë¿Í±àºÅºÍÏúÊÛÁ¿Õ⼸¸öÁУ¬ÓÃÓÚ±£´æÏúÊÛ¶©µ¥ÐÅÏ¢£¬Õû¸ö±íÓÐ42Íò¶àÌõ¼Ç¼£»´´½¨ÁíÒ»Õűítime_hierarchyÓÃÓÚ´æ´¢½»Ò×ÈÕÆÚÖÐʱ¼äµÄ¹Øϵ£¬°üº¬½»Ò×ÈÕÆÚ¼°Æä¶ÔÓ¦µÄÔ¡¢¼¾¶È¼°Äê¶ÈµÈÐÅÏ¢£¬È»ºóÎÒÃǽ«ÌåÑéDimensionµÄÇ¿´ó¹¦ÄÜ¡£
Roby@XUE> create table sales
2 (trans_date date, cust_id int, sales_amount number );
Table created.
Roby@XUE> insert /*+ APPEND */ into sales
2 select trunc(sysdate,'year')+mod(rownum,366) TRANS_DATE,
3 mod(rownum,100) CUST_ID,
4 abs(dbms_random.random)/100 SALES_AMOUNT
5 from all_objects
6 /
5926 rows created.
Roby@XUE> commit;
Commit complete.
Roby@XUE> begin
2 for i in 1 .. 6
3 loop
4 insert /*+ APPEND */ into sales
5 select trans_date, cust_id, abs(dbms_random.random)/100 SALES_AMOUNT
6 from sales;
7 commit;
8 end loop;
9 end;
10 /
PL/SQL procedure successfully completed.
Roby@XUE> select count(*) from sales;
COUNT(*)
----------
426672
´´½¨Ë÷Òý×éÖ¯±ítime_hierarchy£¬ÀïÃæÉú³ÉÁ˽»Ò×ÈÕÆÚÖÐÈÕÆÚDAY¡¢ÔÂMMYYYY¡¢¼¾¶ÈQTY_YYYY¡¢Äê¶ÈYYYYµÄ¹Øϵ¡£
Roby@XUE> create table time_hierarchy
2 (day primary key, mmyyyy, mon_yyyy, qtr_yyyy, yyyy)
3 organization index
4 as
5 select distinct
6 trans_date DAY,
7 cast (to_char(trans_date,'mmyyyy') as number


Ïà¹ØÎĵµ£º

connect by prior Ò»¸öºÜºÃÓõÄORACLEµÝ¹éÓï¾ä

select t.*, t.rowid from indicators t start with (t.isleaf='1' and t.rid='26020')
connect by prior t.pid = t.id order by t.inum
´ÓÒ¶×Ó½ÚµãÒÀ¾Ýid=pidµÄ¹ØϵÏòÉϵݹ鵽¸ú½Úµã¡£
select t.*, t.rowid from indicators t start with (t.pid='0' and t.rid='26020')
connect by prior t.id = t.pid order by t.i ......

oracleÊ÷½á¹¹²éѯ

 
connect by Êǽṹ»¯²éѯÖÐÓõ½µÄ£¬Æä»ù±¾Óï·¨ÊÇ£º
select ... from tablename start with Ìõ¼þ1
connect by Ìõ¼þ2
where Ìõ¼þ3;
Àý£º
select * from table
start with org_id = 'HBHqfWGWPy'
connect by prior org_id = parent_id;
 
¼òµ¥ËµÀ´Êǽ«Ò»¸öÊ÷×´½á¹¹´æ´¢ÔÚÒ»ÕűíÀ±ÈÈçÒ»¸ö±í ......

ORACLE OMF½éÉÜ

ÏÈ¿´Oracle ¹Ù·½½âÊÍ
Oracle managed file (OMF)
A file that is created automatically by the Oracle database server when it is needed and automatically deleted when it is no longer needed.
 
ÈçºÎÅжÏÄãµÄÊý¾Ý¿âÊÇ·ñΪ֧³ÖOMF
SQL> show parameter db_create_file_dest;
 
NAME  & ......

ʹÓÃOracleµÄDBMS_SQL°üÖ´Ðж¯Ì¬SQLÓï¾ä

 ÔÚijЩ³¡ºÏÏ£¬´æ´¢¹ý³Ì»ò´¥·¢Æ÷ÀïµÄSQLÓï¾äÐèÒª¶¯Ì¬Éú³É¡£OracleµÄDBMS_SQL°ü¿ÉÒÔÓÃÀ´Ö´Ðж¯Ì¬SQLÓï¾ä¡£±¾ÎÄͨ¹ýÒ»¸ö¼òµ¥µÄÀý×ÓÀ´Õ¹Ê¾ÈçºÎÀûÓÃDBMS_SQL°üÖ´Ðж¯Ì¬SQLÓï¾ä£º
DECLARE
       v_cursor NUMBER;
       v_stat NUMBER;
  & ......

ѧϰoracle sql loader µÄʹÓÃ

Ò»£ºsql loader µÄÌصã
oracle×Ô¼º´øÁ˺ܶàµÄ¹¤¾ß¿ÉÒÔÓÃÀ´½øÐÐÊý¾ÝµÄǨÒÆ¡¢±¸·ÝºÍ»Ö¸´µÈ¹¤×÷¡£µ«ÊÇÿ¸ö¹¤¾ß¶¼ÓÐ×Ô¼ºµÄÌص㡣
 ±ÈÈç˵expºÍimp¿ÉÒÔ¶ÔÊý¾Ý¿âÖеÄÊý¾Ý½øÐе¼³öºÍµ¼³öµÄ¹¤×÷£¬ÊÇÒ»ÖֺܺõÄÊý¾Ý¿â±¸·ÝºÍ»Ö¸´µÄ¹¤¾ß£¬Òò´ËÖ÷ÒªÓÃÔÚÊý¾Ý¿âµÄÈȱ¸·ÝºÍ»Ö¸´·½Ãæ¡£ÓÐ×ÅËٶȿ죬ʹÓüòµ¥£¬¿ì½ÝµÄÓŵ㣻ͬʱҲÓÐһР......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ