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µÄ½¨¿â¹¤
ÇÒDBCA£¬ÕâÊÇÒ»¸öͼÐνçÃæ¹¤ÇÒ£¬Ê¹ÓÃÆðÀ´·½±ãÇÒºÜÈÝÒ×Àí½â£¬ÒòΪËüµÄ½çÃæÓѺá¢ÃÀ¹Û£¬¶øÇÒÌáʾҲ±È½ÏÆëÈ«¡£ÔÚ£×indowsϵͳÖУ¬Õâ¸ö¹¤¾ß¿ÉÒÔÔÚOracle³ÌÐò×éÖдò¿ª£¨”¿ªÊ¼”—“³ÌÐò”—“ Oracle OraDb10g_home1”&mdash ......
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';
×¢Ò⣬ÈÔÈ»ÐèÒªÊʵ±µ ......
ÎÒÃǶ¼¶¼ÖªµÀÔÚcontrolfileÖмǼ×Åÿһ¸öarchivelogµÄÏà¹ØÐÅÏ¢£¬µ±È»ÃÇÔÚOSϰÑÕâЩÎïÀíÎļþdeleteµôºó£¬ÔÚÎÒÃǵÄ
controlfileÖÐÈÔÈ»¼Ç¼×ÅÕâЩarchivelogµÄÐÅÏ¢£¬ÔÚoracleµÄOEM¹ÜÀíÆ÷ÖÐÓпÉÊÓ»¯µÄÈÕÖ¾Õ¹ÏÖ³ö£¬µ±ÎÒÃÇÊÖ¹¤Çå³ýarchiveĿ¼ÏµÄÎļþºó£¬ÕâЩ¼Ç¼²¢Ã»Óб»ÎÒÃÇ´ÓcontrolfileÖÐÇå³ýµô£¬Ò²¾ÍÊÇoracle²¢²» ......
HWMÊÇoracleÖÐblockÓÐûÓÐʹÓõķֽçÏߣ¬Ëü»áËæ×ÅÊý¾ÝµÄinsert¶øÉÏÉý£¬µ«Ëü²¢²»»áËæÊý¾ÝµÄdelete¶øÏ½µ£¬Òò´ËÈ«±íɨÃèµÄʱ¼ä²¢²»ÒòÊý¾ÝµÄdelete¶ø¼õÉÙ£¬Ïà·´¿ÉÄÜÓÉÓÚ¿éÇå³ý·´¶øÈ«±íɨÃèʱ¼äÔö¼Ó£¬¿ÉÒÔÓÃÏÂÃæ·½·¨µÄÈÎÒ»Ò»ÖÖÀ´½µµÍHWM£º
µÚÒ»ÖÖ£ºshrink
ÊÊÓÃÓÚ10gÒÔºóµÄ°æ±¾£¬Ç°ÌáÊÇÕâ¸ö±í£¬Ë÷Òý£¬ÎﻯÊÓͼ»òÎﻯÊÓͼlogËùÔ ......