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

ROLLUPºÍCUBEÓï¾ä¡£ ORACLE·Ö×éͳ¼Æ


ROLLUPºÍCUBEÓï¾ä¡£
OracleµÄGROUP
BYÓï¾ä³ýÁË×î»ù±¾µÄÓï·¨Í⣬»¹Ö§³ÖROLLUPºÍCUBEÓï¾ä¡£Èç¹ûÊÇROLLUP(A, B, C)µÄ»°£¬Ê×ÏÈ»á¶Ô(A¡¢B¡¢C)½øÐÐGROUP
BY£¬È»ºó¶Ô(A¡¢B)½øÐÐGROUP BY£¬È»ºóÊÇ(A)½øÐÐGROUP BY£¬×îºó¶ÔÈ«±í½øÐÐGROUP BY²Ù×÷¡£Èç¹ûÊÇGROUP BY
CUBE(A, B, C)£¬ÔòÊ×ÏÈ»á¶Ô(A¡¢B¡¢C)½øÐÐGROUP
BY£¬È»ºóÒÀ´ÎÊÇ(A¡¢B)£¬(A¡¢C)£¬(A)£¬(B¡¢C)£¬(B)£¬(C)£¬×îºó¶ÔÈ«±í½øÐÐGROUP BY²Ù×÷¡£
grouping_id()¿ÉÒÔÃÀ»¯Ð§¹û£º
OracleµÄGROUP BYÓï¾ä³ýÁË×î»ù±¾µÄÓï·¨Í⣬»¹Ö§³ÖROLLUPºÍCUBEÓï¾ä¡£
³ý±¾ÎÄÄÚÈÝÍ⣬Ä㻹¿É²Î¿¼£º
·ÖÎöº¯Êý²Î¿¼Êֲ᣺
http://xsb.itpub.net/post/419/33028
·ÖÎöº¯ÊýʹÓÃÀý×Ó½éÉÜ£º
http://xsb.itpub.net/post/419/44634
SQL> create table t as select * from dba_indexes;
±íÒÑ´´½¨¡£
SQL> select index_type, status, count(*) from t group by index_type, status;
INDEX_TYPE STATUS COUNT(*)
--------------------------- -------- ----------
LOB VALID 51
NORMAL N/A 25
NORMAL VALID 479
CLUSTER VALID 11
ÏÂÃæÀ´¿´¿´ROLLUPºÍCUBEÓï¾äµÄÖ´Ðнá¹û¡£
SQL> select index_type, status, count(*) from t group by rollup(index_type, status);
INDEX_TYPE STATUS COUNT(*)
--------------------------- -------- ----------
LOB VALID 51
LOB 51
NORMAL N/A 25
NORMAL VALID 479
NORMAL 504
CLUSTER VALID 11
CLUSTER 11
566
ÒÑÑ¡Ôñ8ÐС£
SQL> select index_type, status, count(*) from t group by cube(index_type, status);
INDEX_TYPE STATUS COUNT(*)
--------------------------- -------- ----------
566
N/A 25
VALID 541
LOB 51
LOB VALID 51
NORMAL 504
NORMAL N/A 25
NORMAL VALID 479
CLUSTER 11
CLUSTER VALID 11
ÒÑÑ¡Ôñ10ÐС£
²éѯ½á¹û²»ÊǺÜһĿÁËÈ»£¬ÏÂÃæÍ¨¹ýOracleÌṩµÄº¯ÊýGROUPINGÀ´ÕûÀíһϲéѯ½á¹û¡£
SQL> select grouping(index_type) g_ind, grouping(status) g_st, index_type, status, count(*)
2 from t group by rollup(index_type, status) order by 1, 2;
G_IND G_ST INDEX_TYPE STATUS COUNT(*)
---------- ---------- --------------------------- -------- ----------
0 0 LOB VALID 51
0 0 NORMAL N/A 25
0 0 NORMAL VALID 479
0 0 CLUSTER VALID 11
0 1 LOB 51
0 1 NORMAL 504
0 1 CLUSTER 11
1 1 566
ÒÑ


Ïà¹ØÎĵµ£º

OracleÖ®¹ÜÀí±íÖ®Ò»£¨ÏÔʾ±íÐÅÏ¢£©


 
ÏÔʾ±íÐÅÏ¢
1,ÏÔÊ¾ÌØ¶¨Óû§µÄ±í
DAT_TABLES ¿ÉÒÔÏÔʾËùÓÐÊý¾Ý¿â±íµÄÏêϸÐÅÏ¢
ALL_TABLES ¿ÉÒÔÏÔʾÓû§¿ÉÒÔ·ÃÎʵÄËùÓбíÐÅÏ¢
USER_TABLES ¿ÉÒÔÏÔʾµ±Ç°Óû§ËùÓбíµÄÐÅÏ¢
SELECT table_name,num_rows,pct_free,blocks,chain_cnt
from dba_tables WHERE owner=’SCOTT’;
Table_nameÓÃÓÚ±êʶ±íÃû,n ......

ORACLEÉÁ»Ø»Ö¸´Çø(Flash recovery area)

oracle10gÐÂÌØÐÔ£ºÉÁ»Ø»Ö¸´Çø(Flash recovery area)
Oracle9i¿ªÊ¼ÌṩÉÁ»Ø²éѯ£¬ÒÔ±ãÄÜÔÚÐèÒªµÄʱºò²éµ½¹ýȥij¸öʱ¿ÌµÄÒ»ÖÂÐÔÊý¾Ý£¬ÕâÊÇͨ¹ýUndoʵÏֵġ£Õâ¸ö¹¦ÄÜÓкܴóµÄÏÞÖÆ£¬¾ÍÊÇÏà¹ØÊÂÎñµÄundo²»Äܱ»¸²¸Ç£¬·ñÔò¾ÍÎÞÁ¦»ØÌìÁË¡£oracle10g´ó´óµÄÔöÇ¿ÁËÉÁ»Ø²éѯµÄ¹¦ÄÜ£¬²¢ÇÒÌṩÁ˽«Õû¸öÊý¾Ý¿â»ØÍ˵½¹ýȥij¸öʱ¿ÌµÄÄÜÁ¦£¬ ......

Oracle±à³Ì¸ßÊÖóðÑÔ£ºÎ»Í¼Ë÷Òý(Bitmap Index)µÄ¹ÊÊÂ

ÄúÈç¹ûÊìϤOracleÊý¾Ý¿â£¬ÎÒÏëÄú¶ÔThomas KyteµÄ´óÃûÒ»¶¨²»»áİÉú¡£TomasÖ÷³ÖµÄasktom.oracle.comÍøÕ¾ÏíÓþOracle½çÊýÊ®Ä꣬¾ø·ÇÐÒÖ¡£×î½üÔÚͼÊé¹Ý½èµ½ÕâλOracle¾ø¶¥¸ßÊÖ±àÖøµÄ¡¶Expert Oracle Database Architecture-9i and 10g programming Techniques and Solutions¡·£¬·­ÔÄ֮ϣ¬¹ûȻʢÃûÎÞÐ飬ËäȻ˵²»ÉÏ×Ö×ÖÖéçᣬµ« ......

Oracle PL/SQL¿é½á¹¹ºÍ×é³ÉÔªËØÑ§Ï°±Ê¼Ç(Ò»)

Ò»£¬PL/SQL¿éµÄ½á¹¹ºÍ×é³ÉÔªËØ
PL/SQL³ÌÐòÓÉÉùÃ÷²¿·Ö£¬Ö´Ðв¿·Ö£¬Òì³£´¦Àí²¿·ÖÈý¸ö²¿·Ö×é³É¡£½á¹¹ÈçÏ£º
DECLARE
/*ÉùÃ÷²¿·Ö£ºÔÚ´ËÉùÃ÷PL/SQL±äÁ¿£¬ÀàÐͼ°Óα꣬ÒÔ¼°¾Ö²¿µÄ´æ´¢¹ý³ÌºÍº¯Êý*/
BEGIN
/*Ö´Ðв¿·Ö£º¹ý³Ì¼°sqlÓï¾ä£¬³ÌÐòÖ÷Òª²¿·Ö£¬ÊDZØÐëµÄ*/
EXCEPTION
/*Òì³£´¦Àí²¿·Ö£º´íÎó´¦Àí*/
END
 
PL/SQL¿ ......

ORACLE PL/SQL ¶ÔÏó(object)ѧϰ±Ê¼Ç(¶þ)

4¡¢¶ÔÏóÒÀÀµÐÔ
 
CREATE OR REPLACE TYPE Obj1 AS OBJECT (
f1 NUMBER,
f2 VARCHAR2(10),
f3 DATE
);
/

CREATE OR REPLACE TYPE Obj2 AS OBJECT (
f1 DATE,
f2 CHAR(1)
);
/

CREATE OR REPLACE TYPE Obj3 AS OBJECT (
a Obj1,
b Obj2
);
/
  
 
OBJ3ÒÀÀµÓÚOBJ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ