Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ : Oracle

ORACLE ÖÐROWNUMÓ÷¨×ܽá!

ORACLE ÖÐROWNUMÓ÷¨×ܽá!
    ¶ÔÓÚ Oracle µÄ rownum ÎÊÌ⣬ºÜ¶à×ÊÁ϶¼Ëµ²»Ö§³Ö>,>=,=,between...and£¬Ö»ÄÜÓÃÒÔÉÏ·ûºÅ(<¡¢<=¡¢!=)£¬²¢·Ç˵ÓÃ>,>=,=,between..and ʱ»áÌáʾSQLÓï·¨´íÎ󣬶øÊǾ­³£ÊDz鲻³öÒ»Ìõ¼Ç¼À´£¬»¹»á³öÏÖËÆºõÊÇĪÃûÆäÃîµÄ½á¹ûÀ´£¬ÆäʵÄúÖ»ÒªÀí½âºÃÁËÕâ¸ö rownum αÁеÄÒâÒå¾Í²»Ó¦¸Ã¸Ðµ½¾ªÆæ£¬Í¬ÑùÊÇαÁУ¬rownum Óë rowid ¿ÉÓÐЩ²»Ò»Ñù£¬ÏÂÃæÒÔÀý×Ó˵Ã÷
¼ÙÉèij¸ö±í t1(c1) ÓÐ 20 Ìõ¼Ç¼
   Èç¹ûÓà select rownum,c1 from t1 where rownum < 10, Ö»ÒªÊÇÓÃСÓںţ¬²é³öÀ´µÄ½á¹ûºÜÈÝÒ×µØÓëÒ»°ãÀí½âÔÚ¸ÅÄîÉÏÄÜ´ï³ÉÒ»Ö£¬Ó¦¸Ã²»»áÓÐÈκÎÒÉÎʵġ£
   ¿ÉÈç¹ûÓà select rownum,c1 from t1 where rownum > 10 (Èç¹ûдÏÂÕâÑùµÄ²éѯÓï¾ä£¬ÕâʱºòÔÚÄúµÄÍ·ÄÔÖÐÓ¦¸ÃÊÇÏëµÃµ½±íÖкóÃæ10Ìõ¼Ç¼)£¬Äã¾Í»á·¢ÏÖ£¬ÏÔʾ³öÀ´µÄ½á¹ûÒªÈÃÄúʧÍûÁË£¬Ò²ÐíÄú»¹»á»³ÒÉÊDz»Ë­É¾ÁËһЩ¼Ç¼£¬È»ºó²é¿´¼Ç¼Êý£¬ÈÔÈ»ÊÇ 20 Ìõ°¡£¿ÄÇÎÊÌâÊdzöÔÚÄÄÄØ£¿
   ÏȺúÃÀí½â rownum µÄÒâÒå°É¡£ROWNUMÊÇÒ»¸öÐé¼ÙµÄÁÐ,Ëü½«±»·ÖÅäΪ 1£¬2£¬3£¬4£¬...N£¬N ÊÇÐеÄÊýÁ¿¡£¼´²éµ½½á¹û¼¯Ö®ºó,ÈκÎÅÅÐòºÍ¾ÛºÏ֮ǰ,¼ÓÉÏÈ¥µÄÒ»¸öÁÐ ( ......

Oracle Union Union All ʹÓ÷½·¨

 
1. Union Ö¸ÁîµÄÄ¿µÄÊǽ«Á½¸ö SQL Óï¾äµÄ½á¹ûºÏ²¢ÆðÀ´,¿ÉÒԲ鿴ÄãÐèÒª²éѯ½á¹û.
ÀýÈç:
SELECT Date from Store_Information
UNION
SELECT Date from Internet_Sales
×¢Òâ:
unionÓ÷¨ÖÐ,Á½¸öselectÓï¾äµÄ×Ö¶ÎÀàÐÍÆ¥Åä,¶øÇÒ×ֶθöÊýÒªÏàͬ
ÈçÉÏÃæµÄÀý×Ó,ÔÚʵ¼ÊµÄÈí¼þ¿ª·¢¹ý³Ì,»áÓöµ½¸ü¸´ÔÓµÄÇé¿ö,¾ßÌåÇë¿´ÏÂÃæµÄÀý×Ó
select  '1' as type,FL_ID,FL_CODE,FL_CNAME,FLDA.FL_PARENTID from FLDA
WHERE ZT_ID=2006030002
union 
select  '2' as type,XM_ID,XM_CODE ,XM_CNAME ,FL_ID from XMDA
where exists (select * from (select  FL_ID from FLDA WHERE ZT_ID=2006030002 ) a where XMDA.fl_id=a.fl_id)
order by type,FL_PARENTID ,FL_ID
Õâ¸ö¾ä×ÓµÄÒâ˼Êǽ«Á½¸ösqlÓï¾äunion²éѯ³öÀ´,²éѯµÄÌõ¼þ¾ÍÊÇ¿´XMDA±íÖеÄFL_IDÊÇ·ñºÍÖ÷±íFLDAÀïµÄFL_IDÖµÏàÆ¥Åä,(Ò²¾ÍÊÇ´æÔÚ).
UNIONÔÚ½øÐбíÁ´½Óºó»áɸѡµôÖØ¸´µÄ¼Ç¼£¬ËùÒÔÔÚ±íÁ´½Óºó»á¶ÔËù²úÉúµÄ½á¹û¼¯½øÐÐÅÅÐòÔËË㣬ɾ³ýÖØ¸´µÄ¼Ç¼ÔÙ·µ»Ø½á¹û¡£
2. ÔÚ²éѯÖлáÓöµ½ UNION ALL,ËüµÄÓ÷¨ºÍunionÒ»Ñù,Ö»²»¹ýunionº¬ÓÐdistinctµÄ¹¦ÄÜ,Ëü»á°ÑÁ½ÕűíÁËÖØ¸´µÄ¼Ç¼ȥµô,
 &nb ......

Oracle ´æ´¢¹ý³ÌµÄʹÓÃÀý×Ó

CREATE OR REPLACE Procedure PRCGETV6(
 inp_UserCD  IN VARCHAR2,
 inp_SEIHIN  IN VARCHAR2,
 inp_SOKOCD  IN VARCHAR2,
 inp_JITUZAI  IN VARCHAR2,
 inp_GYOSU  IN VARCHAR2,
 out_KOSHINYMD  OUT VARCHAR2,
 out_ERR   OUT VARCHAR2
) Is
 CONST_OPERATION_NAME  CONSTANT VARCHAR2(30):= 'PRCGETV6'; --²Ù×÷識別×Ó
-- out_KOSHINYMD VARCHAR2(14);
-- out_ERR  VARCHAR2(10);
 varUSERCD VARCHAR2(10);
 varSEIHIN VARCHAR2(11);
 varSOKOCD VARCHAR2(1);
 varKOSHINHI VARCHAR2(14);
 numJITUZAI NUMBER;
 numKEISANZAI NUMBER;
 numGYOSU NUMBER;
 numSEQ NUMBER;
 CURSOR CUR1 IS
 Select
  KBN,
  JUBI,
  YOBI,
  MENO,
  MNYUKO,
  DENPYONO,
  MSYUKO,
  EGYCD,
  ZAISU,
  KBN1,
  KBN ......

Oracle JOB ʹÓ÷½·¨

SVRMGR> select * from dba_jobs;
³õʼ»¯Ïà¹Ø²ÎÊýjob_queue_processes
alter system set job_queue_processes=39 scope=spfile;//×î´óÖµ²»Äܳ¬¹ý1000 ;job_queue_interval = 10 //µ÷¶È×÷ҵˢÐÂÆµÂÊÃëΪµ¥Î»
DBA_JOBS describes all jobs in the database.
USER_JOBS describes all jobs owned by the current user
1 select job,what,to_char(last_date,'yyyy-mm-dd HH24:mi:ss'),to_char(next_date,'yyyy-mm-dd HH24:m),interval from dba_jobs where job in (325,295)
2 select job,what,last_date,next_date,interval from dba_jobs where job in (1,3);
²éѯjobµÄÇé¿ö¡£
show paramter background_dump_dest.
¿´alter.log ºÍtrace
SVRMGR> select * from dba_jobs;
³õʼ»¯Ïà¹Ø²ÎÊýjob_queue_processes
alter system set job_queue_processes=39 scope=spfile;//×î´óÖµ²»Äܳ¬¹ý1000
job_queue_interval = 10 //µ÷¶È×÷ҵˢÐÂÆµÂÊÃëΪµ¥Î»
DBA_JOBS describes all jobs in the database.
USER_JOBS describes all jobs owned by the current user
1 select job,what,to_char(last_date,'yyyy-mm-dd HH24:mi:ss'),to_char(next_date,'yyyy-mm-dd HH24 ......

oracle Job ¶þ

DECLARE
X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT
( job => X,
what => 'ETL_RUN_D_Date;',
next_date => to_date('2009-08-26 01:00:00','yyyy-mm-dd hh24:mi:ss'),
interval => 'trunc(sysdate)+1+1/24',
no_parse => FALSE
);
SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));
COMMIT;
END;
/
ÒÔÉÏÊÇÃ÷È·Ö¸¶¨Ã¿ÌìµÄ1µãÖ´ÐдËjob,Èç¹ûÖ¸¶¨ÊÇÿÌìÖÐÎç12µãÖ´ÐÐintervalÐèÒªÖ¸¶¨Îª'trunc(sysdate)+1+12/24',Èç¹û½ö½öÖ¸¶¨intervalΪһÌì,ÕâÑùµ±ÄãÊÖ¹¤ÓÃdbms_job.run(job)È¥ÔËÐÐÒ»´Îʱ,jobÿÌìµÄÖ´ÐÐʱ¼äÊÇ»á¸Ä±äµÄ,Èç¹ûÄãÏëjobÿÌìÔڹ̶¨Ê±¼äÖ´ÐÐ,¿ÉÒԲο¼ÉÏÃæµÄÀý×Ó.
³õʼ»¯Ïà¹Ø²ÎÊýjob_queue_processes
alter system set job_queue_processes=39 scope=spfile;//×î´óÖµ²»Äܳ¬¹ý1000 ;job_queue_interval = 10 //µ÷¶È×÷ҵˢÐÂÆµÂÊÃëΪµ¥Î»
job_queue_process ±íʾoracleÄܹ»²¢·¢µÄjobµÄÊýÁ¿£¬¿ÉÒÔͨ¹ýÓï¾ä¡¡¡¡
show parameter job_queue_process;
À´²é¿´oracleÖÐjob_queue_processµÄÖµ¡£µ±job_queue_processֵΪ0ʱ±íʾȫ²¿Í£Ö¹oracleµÄjob£¬¿ÉÒÔͨ¹ýÓï¾ä
ALTER SYSTEM SET job_queue_processes = 10;
À´µ÷ÕûÆô¶¯oracleµÄjob¡£
......

oracle ÖеÄexception£¨×ª£©

1¡¢Òì³£µÄÓŵã
¡¡¡¡
¡¡¡¡Èç¹ûûÓÐÒì³££¬ÔÚ³ÌÐòÖУ¬Ó¦µ±¼ì²éÿ¸öÃüÁîµÄ³É¹¦»¹ÊÇʧ°Ü£¬Èç
¡¡¡¡BEGIN
¡¡¡¡SELECT ...
¡¡¡¡-- check for ’no data found’ error
¡¡¡¡SELECT ...
¡¡¡¡-- check for ’no data found’ error
¡¡¡¡SELECT ...
¡¡¡¡-- check for ’no data found’ error
¡¡¡¡ÕâÖÖʵÏֵķ½·¨È±µãÔÚÓÚ´íÎó´¦ÀíûÓÐÓëÕý³£´¦Àí·Ö¿ª£¬¿É¶ÁÐԲʹÓÃÒì³££¬¿ÉÒÔ·½±ã´¦Àí´íÎ󣬶øÇÒÒì³£´¦Àí³ÌÐòÓëÕý³£µÄÊÂÎñÂß¼­·Ö¿ª£¬Ìá¸ßÁ˿ɶÁÐÔ£¬Èç
¡¡¡¡BEGIN
¡¡¡¡SELECT ...
¡¡¡¡SELECT ...
¡¡¡¡SELECT ...
¡¡¡¡...
¡¡¡¡EXCEPTION
¡¡¡¡WHEN NO_DATA_FOUND THEN -- catches all ’no data found’ errors
¡¡¡¡
¡¡¡¡2¡¢Òì³£µÄ·ÖÀà
¡¡¡¡
¡¡¡¡ÓÐÁ½ÖÖÀàÐ͵ÄÒì³££¬Ò»ÖÖΪÄÚ²¿Òì³££¬Ò»ÖÖΪÓû§×Ô¶¨ÒåÒì³££¬ÄÚ²¿Òì³£ÊÇÖ´ÐÐÆÚ¼ä·µ»Øµ½PL/SQL¿éµÄORACLE´íÎó»òÓÉPL/SQL´úÂëµÄij²Ù×÷ÒýÆðµÄ´íÎó£¬Èç³ýÊýΪÁã»òÄÚ´æÒç³öµÄÇé¿ö¡£Óû§×Ô¶¨ÒåÒì³£ÓÉ¿ª·¢ÕßÏÔʾ¶¨Ò壬ÔÚPL/SQL¿éÖд«µÝÐÅÏ¢ÒÔ¿ØÖƶÔÓÚÓ¦ÓõĴíÎó´¦Àí¡£
¡¡¡¡
¡¡¡¡Ã¿µ±PL/SQLÎ¥±³ÁËORACLEÔ­Ôò»ò³¬Ô½ÁËϵͳÒÀÀµµÄÔ­Ôò¾Í»áÒþʽµÄ²úÉúÄÚ²¿Òì³£¡£ÒòΪÿ¸öORACLE´íÎó¶¼ÓÐÒ»¸öºÅÂë² ......
×ܼǼÊý:3994; ×ÜÒ³Êý:666; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [594] [595] [596] [597] 598 [599] [600] [601] [602] [603]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ