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

Oracle Sql Óï¾äÐÔÄܵ÷ÓÅ

ÕâÆªÎÄÕÂÊÇÐþ»úÒÝʿΪijÉÏÊй«Ë¾µÄERPϵͳµ÷ÓÅËù׫д±¨¸æµÄ²¿·Öժ¼£¬Ï£ÍûÄܹ»¶Ô´ó¼ÒÓÐËù°ïÖú£º
ÏÂÃæ¸ø³öSQLÓÅ»¯¾­³£Óöµ½µÄÇéÐΡ£ËüÃÇÊÇÔںܶàÈ˳¤ÆÚ»ýÀ۵ľ­ÑéÉÏ×ܽá³öÀ´µÄ£¬ÕâЩ¶¼ÊÇһЩһ°ãÐԵĽáÂÛ£¬ÔÚʵ¼Ê¹¤×÷ÖУ¬»¹Ó¦µ±¾ßÌåÇé¿ö¾ßÌå·ÖÎö£¬²¢¼ÓÒÔÁé»îÔËÓá£
(1)  ÓÃNOT EXISTSÌæ»»NOT IN ½«¸üÏÔÖøµØÌá¸ßЧÂÊ£¬¾¡Á¿ÓÃNOT EXISTSÌæ´úNOT IN¡£ÔÚ×Ó²éѯÖУ¬NOT IN×Ӿ佫ִÐÐÒ»¸öÄÚ²¿µÄÅÅÐòºÍºÏ²¢. ÎÞÂÛÔÚÄÄÖÖÇé¿öÏ£¬NOT IN¶¼ÊÇ×îµÍЧµÄ (ÒòΪËü¶Ô×Ó²éѯÖеıíÖ´ÐÐÁËÒ»¸öÈ«±í±éÀú). ΪÁ˱ÜÃâʹÓÃNOT IN£¬ÎÒÃÇ¿ÉÒÔ°ÑËü¸Äд³ÉÍâÁ¬½Ó(Outer Joins)»òNOT EXISTS¡£
ÀýÈ磬
SELECT ENMAE
from EMP
WHERE DEPTNO NOT IN
(
SELECT DEPTNO
from DEPT
WHERE LOC='BOSTON'
);
ΪÁËÌá¸ßЧÂÊ£¬¿É¸ÄдΪ£¬
(·½·¨Ò»£º¸ßЧ)
SELECT ENAME
from EMP A,DEPT B
WHERE A.DEPTNO = B.DEPTNO(+)
AND B.DEPTNO IS NULL
AND B.LOC(+) = 'BOSTON'
(·½·¨¶þ£º×î¸ßЧ)
SELECT ENAME
from EMP E
WHERE NOT EXISTS
( SELECT 'X' from DEPT D WHERE
D.DEPTNO = E.DEPTNO AND LOC='BOSTON'
);
³ý´ËÖ®Íâ£¬ÍÆ¼öʹÓÃNOT EXISTSµÄÒ»¸öÖØÒªµÄÔ­ÒòÊÇNOT EXISTSÔÚµ±×Ó²éѯ¿ÉÄÜ·µ»ØNULLµÄÇé¿öÏ£¬¸ü¼Ó¿É¿¿£¬ÕâÊÇÒòΪÔڱȽÏÁбíÖÐÈç¹û°üº¬NULL£¬NOT INÌõ¼þ½«Îªfalse¡£¿¼ÂÇÏÂÃæµÄÓï¾ä£¬¸ÃÓï¾äÊÔͼÔÚEMP±íÖвéѯ³öÀ´Ã»ÓÐÒ»¸öÏÂÊôµÄÈËÔ±ÁÐ±í£º
    SELECT ENAME, JOB from EMP
    WHERE EMPNO NOT IN (SELECT MGR from EMP);
       ÉÏÃæ²éѯ²»»á·µ»ØÈκνá¹û£¬ÒòΪijЩ¼Ç¼µÄMGR×Ö¶ÎÊÇNULLÖµ¡£ÕýÈ·µÄд·¨ÊÇ£º
       SELECT ENAME, JOB from EMP E
    WHERE NOT EXISTS (SELECT MGR from EMP WHERE MGR=E.EMPNO);
(2)  ¾¡Á¿±ÜÃâÔÚË÷ÒýÁÐÉϽøÐмÆËã¡£
       WHERE×Ó¾äÖУ¬Èç¹ûË÷ÒýÁÐÊǺ¯ÊýµÄÒ»²¿·Ö¡£ÓÅ»¯Æ÷½«²»Ê¹ÓÃË÷Òý¶øÊ¹ÓÃÈ«±íɨÃè¡£ÀýÈ磺
       µÍЧµÄд·¨£º
SELECT …
from DEPT
WHERE SAL * 12 > 25000;
¸ßЧµÄд·¨£º
SELECT …
from DEPT
WHERE SAL > 25000/12;
ÕâÊÇÒ»¸ö·Ç³£ÊµÓõĹæÔò£¬ÇëÎñ±ØÀμǡ£
(3)  ÓÃ>=Ìæ´ú>
Èç¹ûDEPTNOÉÏÓÐÒ»¸öË÷Òý£¬
¸ßЧµÄд·¨£º
SELECT *
from EMP
WHERE DEPTNO >=4
µÍЧµÄд·¨£º


Ïà¹ØÎĵµ£º

ORACLEËøµÄ¹ÜÀí

ORACLEÀïËøÓÐÒÔϼ¸ÖÖģʽ:
0£ºnone
1£ºnull ¿Õ
2£ºRow-S Ðй²Ïí(RS)£º¹²Ïí±íËø£¬sub share
3£ºRow-X ÐжÀÕ¼(RX)£ºÓÃÓÚÐеÄÐ޸ģ¬sub exclusive
4£ºShare ¹²ÏíËø(S)£º×èÖ¹ÆäËûDML²Ù×÷£¬share
5£ºS/Row-X ¹²ÏíÐжÀÕ¼(SRX)£º×èÖ¹ÆäËûÊÂÎñ²Ù×÷£¬share/sub exclusive
6£ºexclusive ¶ÀÕ¼(X)£º¶ÀÁ¢·ÃÎÊʹÓã¬exclusive ......

OracleϵÁУºÍ¼Æ¬µÄ´æ´¢

 OracleϵÁУºÍ¼Æ¬µÄ´æ´¢
Ò»£ºÊ²Ã´ÊÇ´ó¶ÔÏ󣬴ó¶ÔÏó»ù±¾²Ù×÷£¿
 ²Î¼ûÎÒµÄBLOG£ºOracleϵÁУºLOB´ó¶ÔÏó´¦Àí
 http://blog.csdn.net/qfs_v/archive/2008/05/21/2464599.aspx
 
¶þ£¬Í¼Æ¬µÄ´æ´¢»ò¶þ½øÖÆÎļþµÄ´æ´¢
 1£¬ÏȲåÈëÆÕͨÊý¾Ý£¬Óöµ½´ó¶ÔÏóÁÐʹÓÃempty_blob()¹¹Ôì¿ÕµÄÖ¸Õë¡£
  Àý× ......

Oracle Cursor

 1£¬Ê²Ã´ÊÇÓαꣿ
 ¢Ù´Ó±íÖмìË÷³ö½á¹û¼¯£¬´ÓÖÐÿ´ÎÖ¸ÏòÒ»Ìõ¼Ç¼½øÐн»»¥µÄ»úÖÆ¡£
   
 ¢Ú¹ØÏµÊý¾Ý¿âÖеIJÙ×÷ÊÇÔÚÍêÕûµÄÐм¯ºÏÉÏÖ´Ðеġ£
  ÓÉ SELECT Óï¾ä·µ»ØµÄÐм¯ºÏ°üÀ¨Âú×ã¸ÃÓï¾äµÄ WHERE ×Ó¾äËùÁÐÌõ¼þµÄËùÓÐÐС£ÓɸÃÓï¾ä·µ»ØÍêÕûµÄÐм¯ºÏ½Ð×ö½á¹û¼¯¡£
   &n ......

Oracle ±í¿Õ¼ä»ù±¾²Ù×÷

 
1. ²éѯÊý¾Ý¿âÏÖÔڵıí¿Õ¼ä
select tablespace_name, file_name, sum(bytes)/1024/1024 table_size from dba_data_files group by tablespace_name,file_name;
 
2. ½¨Á¢±í¿Õ¼ä
CREATE TABLESPACE data01 DATAFILE '/oracle/ ......

Oracle Rman¿çresetlogs°æ±¾»Ö¸´

RMAN> startup nomount;
RMAN> sql 'alter session set nls_date_format=''yyyy-mm-dd hh24:mi:ss''";
--ÒòΪrmanĬÈÏÒÔ»·¾³±äÁ¿À´¶Áȡʱ¼ä¸ñʽ£¬ÓësqlplusµÄ¹Ì¶¨¸ñʽ²»Í¬£¬ËùÒÔ£¬´Ë´¦ÒªÉ趨ʱ¼ä¸ñʽ±äÁ¿¡£
RMAN> restore controlfile from autobackup until time '2009-03-10 18:15:00';
×¢Ò⣬ÈÔÈ»ÐèÒªÊʵ±µ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ