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

oracle——·ÖÎöº¯ÊýOVER ()

·ÖÎöº¯ÊýÓÃÓÚ¼ÆËã»ùÓÚ×éµÄijÖÖ¾ÛºÏÖµ£¬ËüºÍ¾ÛºÏº¯ÊýµÄ²»Í¬Ö®´¦ÊÇ
¶ÔÓÚÿ¸ö×é·µ»Ø¶àÐУ¬¶ø¾ÛºÏº¯Êý¶ÔÓÚÿ¸ö×éÖ»·µ»ØÒ»ÐС£
SQL> select t.empno,t.ename,sum(t.sal)
2 from emp t;
select t.empno,t.ename,sum(t.sal)
*
ERROR at line 1:
ORA-00937: not a single-group group function
SQL> select t.empno,t.ename,sum(t.sal) over() sum from emp t;
EMPNO ENAME SUM
---------- ---------- ----------
7369 SMITH 31025
7499 ALLEN 31025
7521 WARD 31025
7566 JONES 31025
7654 MARTIN 31025
7698 BLAKE 31025
7782 CLARK 31025
7788 SCOTT 31025
7839 KING 31025
7844 TURNER 31025
7876 ADAMS 31025
7900 JAMES 31025
7902 FORD 31025
7934 MILLER 31025
14 rows selected.

over()¡¢over(order by...)Óëover(partition by...)Ö®¼äµÄÇø±ð
over(order by...)ÓÃÔھۺϺ¯Êý£¨max(),sun()....£©ºóÃ棬¿É·µ»Ø¸ù¾ÝÅÅÐò½á¹û½øÐÐͳ¼Æµ½µ±Ç°ÐеľۺÏÖµ(¼´“Á¬Ðø”ͳ¼Æ)£»
·ÖÎö£ºµÚ¶þÐеÄsum=µÚÒ»ÐÐÀïµÄsal+µÚ¶þÐÐÀïµÄsal£»
      µÚ¶þÐеÄsum=µÚÒ»ÐÐÀïµÄsal+µÚ¶þÐÐÀïµÄsal+µÚÈýÐÐÀïµÄsal£»
1 select t.empno,
2 t.deptno,
3 t.ename,
4 t.sal,
5 sum(t.sal) over(order by t.ename) sum
6* from emp t
SQL> /
EMPNO DEPTNO ENAME SAL SUM
---------- ---------- ---------- ---------- ----------
7876 20 ADAMS 1100 1100
7499 30 ALLEN 1600 2700
7698 30 BLAKE 2850 5550
7782 10 CLARK 2450 8000
7902 20 FORD 3000 11000
7900 30 JAMES 950 11950
7566 20 JONES 2975 14925
7839 10 KING 5000 19925
7654 30 MARTIN


Ïà¹ØÎĵµ£º

Ïê½âOracleÊý¾Ý¿âÓÅ»¯·½°¸Óëʵ¼ù

ÔÚÕâÀïÎÒÃǽ«½éÉÜOracleÊý¾Ý¿âÓÅ»¯·½°¸Óëʵ¼ù£¬²»Í¬µÄ»·¾³»áÓв»Í¬µÄµ÷ÊÔ£¬µ«ÊÇÒ²»áÓвî±ð£¬Ï£Íû´ó¼ÒÄܺÏÀíµÄÎüÊÕ¡£ Ò»¡¢Ç°ÑÔ ¶þ¡¢ORACLEÊý¾Ý¿âÓÅ»¯¸ÅÊö 1¡¢ÄÚ´æµÈ²ÎÊýÅäÖõÄÓÅ»¯ 2¡¢¼õÉÙÎïÀí¶ÁдµÄÓÅ»¯ 3¡¢ÅúÁ¿Öظ´²Ù×÷µÄSQLÓï¾ä¼°´ó±í²Ù×÷µÄÓÅ»¯ ¶þ¡¢ORACLEÊý¾Ý¿âÓÅ»¯·½°¸ 1¡¢ÄÚ´æµÈOracleϵͳ²ÎÊýÅäÖà 2¡¢Ê ......

Oracleѧϰ±Ê¼Ç4 ÉÔ¸´ÔӵIJéѯºÍ·ÖÒ³

ÈÔȻʹÓÃSCOTTÓû§À´²Ù×÷£º
1¡¢         ÏÔʾ¹¤×ʱȲ¿ÃÅ30µÄËùÓÐÔ±¹¤µÄ¹¤×ʶ¼¸ßµÄÔ±¹¤µÄÐÅÏ¢£º
Select * from emp where sal>all(select sal from emp where deptno=30);
2¡¢         ÏÔʾ¹¤×ʱȲ¿ÃÅ30µÄÈÎÒâÒ»¸öÔ±¹¤µÄ¹¤×ʸ߾ͿÉÒ ......

oracle ¶¨Ê±Ö´ÐÐÈÎÎñ job

1¸öʵÀý
create table tjob2(tt date);
´´½¨Ò»¸ö´æ´¢¹ý³Ì
create or replace procedure t26 is
begin
  insert into tjob2 values(sysdate);
  commit;
end t26;
´´½¨job£¬Ã¿·ÖÖÓÖ´ÐÐÒ»´Î
SQL> declare
  2  tjob number;
  3  begin
  4    sys.dbms_jo ......

ÈçºÎÔÚoracleÖе¼Èëµ¼³ödmpÎļþ[ת]

¡¡¡¡OracleÊý¾Ýµ¼Èëµ¼³öimp/exp¾ÍÏ൱ÓÚoracleÊý¾Ý»¹Ô­Ó뱸·Ý¡£expÃüÁî¿ÉÒÔ°ÑÊý¾Ý´ÓÔ¶³ÌÊý¾Ý¿â·þÎñÆ÷µ¼³öµ½±¾µØµÄdmpÎļþ£¬impÃüÁî¿ÉÒÔ°ÑdmpÎļþ´Ó±¾µØµ¼Èëµ½Ô¶´¦µÄÊý¾Ý¿â·þÎñÆ÷ÖС£ ÀûÓÃÕâ¸ö¹¦ÄÜ¿ÉÒÔ¹¹½¨Á½¸öÏàͬµÄÊý¾Ý¿â£¬Ò»¸öÓÃÀ´²âÊÔ£¬Ò»¸öÓÃÀ´ÕýʽʹÓÃ……
 
¡¡¡¡OracleÊý¾Ýµ¼Èëµ¼³öimp/exp¾ÍÏàµ±Ó ......

һЩoracleµÄÃüÁî¼°º¯Êý °üÀ¨decodeµÈ


 1¡¢set linesize 100;  ÉèÖó¤¶È   
 2¡¢set pagesize 30;   ÉèÖÃÿҳÏÔʾÊýÄ¿   
 3¡¢em a.sql  ´ò¿ª¼Çʱ¾     
 4¡¢@ a Ö´ÐÐÎļþaÖеĴúÂ룬¿ÉÖ¸¶¨ÎļþµÄ·¾¶ @d:a.txt ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ