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

ORACLE OLAP º¯Êý

¡¡ ×î½üÕâ¸ö¶«¶«ÓõÃÌØ±ð¶à£¬×ܽáÁËһϠ¡£
¡¡¡¡
Óï·¨: FUNCTION_NAME(,,...)
¡¡¡¡  OVER()
¡¡¡¡OLAPº¯ÊýÓï·¨Ëĸö²¿·Ö:
¡¡¡¡1¡¢function±¾Éí ÓÃÓÚ¶Ô´°¿ÚÖеÄÊý¾Ý½øÐвÙ×÷£»
¡¡¡¡2¡¢partitioning clause ÓÃÓÚ½«½á¹û¼¯·ÖÇø£»
¡¡¡¡3¡¢order by clause ÓÃÓÚ¶Ô·ÖÇøÖеÄÊý¾Ý½øÐÐÅÅÐò£»
¡¡¡¡4¡¢windowing clause ÓÃÓÚ¶¨ÒåfunctionÔÚÆäÉϲÙ×÷µÄÐеļ¯ºÏ£¬¼´functionËùÓ°ÏìµÄ·¶Î§¡£
¡¡¡¡
Ò»¡¢order by¶Ô´°¿ÚµÄÓ°Ïì
¡¡¡¡²»º¬order byµÄ£º
¡¡¡¡SQL> select deptno,sal,sum(sal) over() from emp;
¡¡¡¡²»º¬order byʱ£¬Ä¬ÈϵĴ°¿ÚÊÇ´Ó½á¹û¼¯µÄµÚÒ»ÐÐÖ±µ½Ä©Î²¡£
¡¡¡¡
     º¬order byµÄ£º
¡¡¡¡SQL> select deptno,sal, sum(sal) over(order by deptno) as sumsal  from emp;
¡¡¡¡µ±º¬ÓÐorder byʱ£¬Ä¬ÈϵĴ°¿ÚÊÇ´ÓµÚÒ»ÐÐÖ±µ½µ±Ç°·Ö×éµÄ×îºóÒ»ÐС£
¡¡¡¡
¶þ¡¢ÓÃÓÚÅÅÁеĺ¯Êý
¡¡¡¡SQL> select empno, deptno, sal, 
          rank()   over (partition by deptno order by sal desc nulls last) as rank,
¡¡¡¡    dense_rank()  over (partition by deptno order by sal desc nulls last) as dense_rank,
¡¡¡¡    row_number()  over(partition by deptno order by sal desc nulls last) as row_number
¡¡¡¡    from emp;
¡¡¡¡
Èý¡¢ÓÃÓںϼƵĺ¯Êý
¡¡¡¡SQL> select deptno,sal,
¡¡¡¡   sum(sal) over (partition by deptno) as sumsal,
¡¡¡¡   avg(sal) over (partition by deptno) as avgsal,
¡¡¡¡   count(*) over (partition by deptno) as count,
¡¡¡¡   max(sal) over (partition by deptno) as maxsal
¡¡¡¡   from emp;
¡¡¡¡
ËÄ¡¢¿ª´°Óï¾ä
¡¡
¡¡1¡¢rows´°¿Ú: "rows 5 preceding"  ÊÊÓÃÓÚÈκÎÀàÐͶøÇÒ¿ÉÒÔorder by¶àÁС£
¡¡¡¡ SQL> select deptno,ename,sal,
¡¡¡¡          sum(sal) over (order by deptno rows 2 preceding) sumsal
¡¡¡¡          from emp;
¡¡¡¡rows 2 preceding:½«µ±Ç°ÐкÍËüÇ°ÃæµÄÁ½Ðл®ÎªÒ»¸ö´°¿Ú£¬Òò´Ësumº¯Êý¾


Ïà¹ØÎĵµ£º

²»Óð²×°Oracle ClientÈçºÎʹÓÃPLSQL Developer

²»Óð²×°Oracle ClientÈçºÎʹÓÃPLSQL Developer
1. ÏÂÔØoracleµÄ¿Í»§¶Ë³ÌÐò°ü£¨30M£©
      Ö»ÐèÒªÔÚOracleÏÂÔØÒ»¸ö½ÐInstant Client PackageµÄÈí¼þ¾Í¿ÉÒÔÁË£¬Õâ¸öÈí¼þ²»ÐèÒª°²×°£¬Ö»Òª½âѹ¾Í¿ÉÒÔÓÃÁË£¬ºÜ·½±ã£¬¾ÍËã֨װÁËϵͳ»¹ÊÇ¿ÉÒÔÓõġ£
      ÏÂÔØµ ......

oracle, stored procedure, cursor

CREATE OR REPLACE PROCEDURE kevin_proc(x varchar) IS
a VARCHAR(20);
b VARCHAR(20);
CURSOR mycur(rn NUMBER) IS SELECT * from t_kevin_test WHERE ROWNUM<rn;
BEGIN
OPEN mycur(10);
LOOP FETCH mycur INTO a,b;
EXIT WHEN mycur%NOTFOUND;
Dbms_Output.put_line('a: '||a);
Dbms_Output.put_line('b: '| ......

¶à¸öoracleÊý¾Ý¿âÖ®¼äÊý¾Ý¹²Ïí database link

ÒòΪ¹«Ë¾µÄÕÆÉϳÇÊÐϵͳÔÚ¶à¸öµØÊÆÍ¬Ê±ÉÏÏߣ¬¶øÎªÁËÈÃÿ¸ö³ÇÊеÄ3G¿ìѶ¾ßÓеØÊÆÌØÉ«ÐÔ£¬Ã¿¸öµØÊÆÓÐ×Ô¼ºµ¥¶ÀµÄÊý¾Ý¿âϵͳ£¬¶øÃ¿¸öµØÊƵĿìѶÓÖһЩ¹²Í¬µÄ£¬Æ©ÈçͻȻ³öÁËÒ»Ìõ¹ú¼ÊÐÂÎÅ£¬ÄÇôÊDz»ÊÇÿ¸öµØÊƵĺǫ́±à¼­¶¼ÒªÂ¼ÈëÒ»±é£¬ÕâÑùÎÞÒÉÊÇ×öÁËÐí¶àÎÞÓù¦£¬ËùÒÔ¹«Ë¾¿¼ÂǼÜÉèÒ»¸ö×ÜÕ¾£¬×ÜÕ¾ÉÏÓÐרÃŵÄÈ˸ºÔð£¬Ã¿Ì츺Ôð¼ÈëÒ» ......

Êý¾Ý¿âoracle for update of ºÍfor updateµÄÇø±ð

select * from TTable1 for update Ëø¶¨±íµÄËùÓÐÐУ¬Ö»ÄܶÁ²»ÄÜд
 
2  select * from TTable1 where pkid = 1 for update Ö»Ëø¶¨pkid=1µÄÐÐ
3  select * from Table1 a join Table2 b on a.pkid=b.pkid for update Ëø¶¨Á½¸ö±íµÄËùÓмǼ
 
4 select * from Table1 a join Table2 b on a.pki ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ