ORACLE JOBS
³£ÒªoracleÊý¾Ý¿â¶¨Ê±µÄ×Ô¶¯Ö´ÐÐһЩ½Å±¾£¬»ò×öÊý¾Ý¿â±¸·Ý£¬»ò×öÊý¾ÝµÄÌáÁ¶£¬»ò×öÊý¾Ý¿âµÄÐÔÄÜÓÅ»¯£¬°üÀ¨Öؽ¨Ë÷ÒýµÈµÈµÄ¹¤×÷,ÕâʱÐèÒªÓõ½Ò»¸öº¯Êýdbms_job.submit£¬À´Íê³ÉOracle¶¨Ê±Æ÷Jobʱ¼äµÄ´¦ÀíÉÏ¡£Ê¹ÓÃdbms_job.submitÕâ¸öº¯Êý£¬ÎÒÃÇÖ»ÐèÒª¿¼ÂÇÁ½¸öÊÂÇ飺°²ÅÅijһÈÎÎñ£¬ºÍ¶¨ÖÆÒ»¸öÖ´ÐÐÈÎÎñµÄʱ¼äµã¡£µ«×îÖØÒªÒ²ÊÇ×ÊÖµÄÊÂÇ飬ÎÒÈÏΪ»¹ÊÇÈ·¶¨Ò»¸öÖ´ÐÐÈÎÎñµÄʱ¼äµã¡£Ê±¼äµãÈ·¶¨ÁË£¬ÆäËûµÄÊÂÇé¾ÍºÃ°ìÁË¡£ÏÂÃæÊǺ¯Êýdbms_job.submitʹÓ÷½·¨£º
Java´úÂë
dbms_job.submit( job out binary_integer,
what¡¡¡¡¡¡¡¡¡¡¡¡¡¡in¡¡¡¡¡¡archar2,
next_date¡¡¡¡¡¡ ¡¡in¡¡¡¡¡¡date£¬
interval¡¡¡¡¡¡¡¡¡¡in¡¡¡¡¡¡varchar2,
no_parse¡¡¡¡¡¡¡¡¡¡in¡¡¡¡¡¡boolean)
ÆäÖУº
¡ñjob£ºÊä³ö±äÁ¿£¬ÊÇ´ËÈÎÎñÔÚÈÎÎñ¶ÓÁÐÖеıàºÅ£»
¡ñwhat£ºÖ´ÐеÄÈÎÎñµÄÃû³Æ¼°ÆäÊäÈë²ÎÊý£»
¡ñnext_date£ºÈÎÎñÖ´ÐеÄʱ¼ä£»
¡ñinterval£ºÈÎÎñÖ´ÐеÄʱ¼ä¼ä¸ô¡£
ÆäÖÐIntervalÕâ¸öÖµÊǾö¶¨JobºÎʱ£¬±»ÖØÐÂÖ´ÐеĹؼü£»µ±intervalÉèÖÃΪnullʱ£¬¸ÃjobÖ´ÐнáÊøºó£¬¾Í±»´Ó¶ÓÁÐÖÐɾ³ý¡£¼ÙÈçÎÒÃÇÐèÒª¸ÃjobÖÜÆÚÐÔµØÖ´ÐУ¬ÔòÒªÓÑsysdate£«m’±íʾ¡£ÈçºÎ¸üºÃµØÈ·¶¨Ö´ÐÐʱ¼äµÄ¼ä¸ôÐèÒªÎÒÃÇÕÆÎÕÒ»¸öº¯ÊýTRUNC¡£
1.TRUNC(for dates)
TRUNCº¯ÊýΪָ¶¨ÔªËضø½ØÈ¥µÄÈÕÆÚÖµ¡£
Æä¾ßÌåµÄÓï·¨¸ñʽÈçÏ£º
TRUNC£¨date[,fmt]£©
ÆäÖУº
date Ò»¸öÈÕÆÚÖµ
fmt ÈÕÆÚ¸ñʽ£¬¸ÃÈÕÆÚ½«ÓÉÖ¸¶¨µÄÔªËØ¸ñʽËù½ØÈ¥¡£ºöÂÔËüÔòÓÉ×î½üµÄÈÕÆÚ½ØÈ¥
ÏÂÃæÊǸú¯ÊýµÄʹÓÃÇé¿ö£º
1)°´Äê½ØÎ²
select TRUNC(TO_DATE('2008-03-01 08:23','yyyy-mm-dd hh:mi'),'yyyy') from dual
-----------------------------------------------------------
2008-1-1
2)°´Ô½ØÎ²
select TRUNC(TO_DATE('2008-03-01 08:23','yyyy-mm-dd hh:mi'),'mm') from dual
--------------------------------------------------------
2008-3-1
3)°´ÈÕ½ØÎ²
select TRUNC(TO_DATE('2008-03-01 08:23','yyyy-mm-dd hh:mi'),'dd') from dual
----------------------------------------------------------------------
2008-3-1
4)°´Ê±½ØÎ²
select TRUNC(TO_DATE('2008-03-01 08:23','yyyy-mm-dd hh:mi'),'hh') from dual
-----------------------------
Ïà¹ØÎĵµ£º
1¡¢±àдĿµÄ
ʹÓÃͳһµÄÃüÃûºÍ±àÂë¹æ·¶£¬Ê¹Êý¾Ý¿âÃüÃû¼°±àÂë·ç¸ñ±ê×¼»¯£¬ÒÔ±ãÓÚÔĶÁ¡¢Àí½âºÍ¼Ì³Ð¡£
2¡¢ÊÊÓ÷¶Î§
±¾¹æ·¶ÊÊÓÃÓÚ¹«Ë¾·¶Î§ÄÚËùÓÐÒÔORACLE×÷Ϊºǫ́Êý¾Ý¿âµÄÓ¦ÓÃϵͳºÍÏîÄ¿¿ª·¢¹¤×÷¡£
3¡¢¶ÔÏóÃüÃû¹æ·¶
3.1 Êý¾Ý¿âºÍSID
Êý¾Ý¿âÃû¶¨ÒåΪϵͳÃû+Ä£¿éÃû
¡ï È«¾ÖÊý¾Ý¿âÃûºÍÀý³ÌSID ÃûÒªÇóÒ»ÖÂ
¡ï ÒòSID ......
SQL> select sal,comm from emp
2 where sal<2000;
SAL COMM
---------- ----------
800
1600 300
1250 500
1250 1400
1500 0
1100
950
1300
8 rows selected.
SQL> select sal as salary,comm as ......
½ñÌ츴ϰOracleµÄÊý¾Ý×ÖµäºÍ¿ØÖÆÎļþ¡£
Ò»¡¢Êý¾Ý×Öµä
Êý¾Ý×ÖµäÊÇÓÉOracle·þÎñÆ÷´´½¨ºÍά»¤µÄÒ»×éÖ»¶ÁµÄϵͳ±í£¬Êý¾Ý×Öµä·ÖΪÁ½´óÀࣺһÀàΪ»ù±í£¬Ò»ÀàΪÊý¾Ý×ÖµäÊÓͼ¡£ÄÇôÊý¾Ý×ÖµäÖÐÓÖ´æÓÐÄÄЩÐÅÏ¢ÄØ£¿
1¡¢Êý¾Ý¿âµÄÂß¼½á¹¹ºÍÎïÀí½á¹¹
2¡¢ËùÓÐÊý¾Ý¿â¶Ô ......
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¡ ......