OracleÖÐSQLÓï¾ä½âÎöµÄ²½Öè
ÎÒÃǶ¼ÖªµÀÔÚOracleÖÐÿÌõSQLÓï¾äÔÚÖ´ÐÐ֮ǰ¶¼ÐèÒª¾¹ý½âÎö£¬ÕâÀïÃæÓÖ·ÖΪÈí½âÎöºÍÓ²½âÎö¡£ÄÇôÕâÁ½ÖÖ½âÎöÓкβ»Í¬Ö®´¦ÄØ£¿ËüÃÇÓÖ·Ö±ðÊÇÈçºÎ½øÐнâÎöÄØ£¿OracleÄÚ²¿½âÎöµÄ²½ÖèÓÖÊÇÈçºÎ½øÐеÄÄØ£¿ÏÂÃæÎÒÃǾÍÕâЩ»°Ìâ½øÐй²Í¬Ì½ÌÖ¡£ ÔÚOracleÖдæÔÚÁ½ÖÖÀàÐ͵ÄSQLÓï¾ä£¬Ò»ÀàΪDDLÓï¾ä£¬ËûÃÇÊÇ´ÓÀ´²»»á¹²ÏíʹÓõģ¬Ò²¾ÍÊÇÿ´ÎÖ´Ðж¼ÐèÒª½øÐÐÓ²½âÎö¡£»¹ÓÐÒ»Àà¾ÍÊÇDMLÓï¾ä£¬ËûÃÇ»á¸ù¾ÝÇé¿öÑ¡ÔñҪô½øÐÐÓ²½âÎö£¬ÒªÃ´½øÐÐÈí½âÎö¡£ÔÚOracle 8i OCP½Ì²ÄµÄ023ÖÐ1-12ÓÐ˵Ã÷SQLÓï¾äµÄ½âÎö²½Ö裬µ±Ò»ÌõSQLÓï¾ä´Ó¿Í»§¶Ë½ø³Ì´«µÝµ½·þÎñÆ÷¶Ë½ø³Ìºó£¬ÐèÒªÖ´ÐÐÈçϲ½Ö裺
• ÔÚ¹²Ïí³ØÖÐËÑË÷ SQL Óï¾äµÄÏÖÓи±±¾
• ÑéÖ¤ SQL Óï¾äµÄÓï·¨ÊÇ·ñ׼ȷ
• Ö´ÐÐÊý¾Ý×Öµä²éÕÒÀ´ÑéÖ¤±íºÍÁе͍Òå
• »ñÈ¡¶ÔÏóµÄ·ÖÎöËøÒÔ±ãÔÚÓï¾äµÄ·ÖÎö¹ý³ÌÖжÔÏóµÄ¶¨Òå²»»á¸Ä±ä
• ¼ì²éÓû§·ÃÎÊÒýÓ÷½°¸¶ÔÏóµÄȨÏÞ
• È·¶¨Óï¾äµÄ×î¼ÑÖ´Ðмƻ®
• ½«Óï¾äºÍÖ´Ðмƻ®ÔØÈë¹²ÏíµÄ SQL Çø
Õâ¸öÏÈÈëΪÖ÷µÄ¸ÅÄîÒ»Ö±Õ¼¾Ý×ÅÎÒµÄÄÔº££¬ÎÒÈÏΪӲ½âÎö¾ÍÊÇÉÏÃæ¼¸¸ö²½Öè¡£Ïà¶ÔÓÚÓ²½âÎö£¬Èí½âÎöµÄ²½Öè¾ÍÊÇÉÏÃæµÚÒ»²½ÕÒµ½ÏÖÓÐSQLÓï¾äµÄ¸±±¾ºó£¬Ö»ÐèÒªÑéÖ¤Óû§ÊÇ·ñÓÐȨÏÞÖ´ÐоÍÊÇÁË£¬ÕâÑùÊ¡ÂÔÉÏÃæºÃ¼¸¸ö²½Ö裬Ïà¶ÔÓ²½âÎöÀ´ËµÐÔÄÜ¿ªÏú¾Í·Ç³£Ð¡ÁË¡£¼´Ê¹ÊÇÔÚÂÛ̳ÉϺʹó¼ÒÌÖÂÛʱ£¬ÎÒÒ²Ò»Ö±¼á³ÖÕâ¸ö¿´·¨¡£Ö±µ½Ç°Ò»Ìì¿´ÁËTomµÄ¡¶Effective Oracle By Design¡·ÖйØÓÚÓï¾ä´¦ÀíµÄÕ½ںó£¬ÎÒ²ÅÖªµÀÕâ¸ö×Ô¼ºÒ»Ö±¼á³ÖµÄ¹ÛµãÊÂʵÉÏÊÇ´íÎóµÄ¡£
ÊÂʵÉÏ£¬ÔÚOracleÖÐSQLÓï¾äµÄ½âÎö²½ÖèÈçÏ£º
1¡¢ Óï·¨¼ì²â¡£ÅжÏÒ»ÌõSQLÓï¾äµÄÓï·¨ÊÇ·ñ·ûºÏSQLµÄ¹æ·¶£¬±ÈÈçÖ´ÐУºSQL> selet * from emp£»ÎÒÃǾͿÉÒÔ¿´³öÓÉÓÚSelect¹Ø¼ü×ÖÉÙÁËÒ»¸ö“c”£¬ÕâÌõÓï¾ä¾ÍÎÞ·¨Í¨¹ýÓï·¨¼ìÑéµÄ²½ÖèÁË¡£
2¡¢ ÓïÒå¼ì²é¡£Óï·¨ÕýÈ·µÄSQLÓï¾äÔÚ½âÎöµÄµÚ¶þ¸ö²½Öè¾ÍÊÇÅжϸÃSQLÓï¾äËù·ÃÎÊµÄ±í¼°ÁÐÊÇ·ñ׼ȷ£¿Óû§ÊÇ·ñÓÐȨÏÞ·ÃÎÊ»ò¸ü¸ÄÏàÓ¦µÄ±í»òÁУ¿±ÈÈçÈçÏÂÓï¾ä£º
SQL> select * from emp;
select * from emp
*
ERROR at line 1:
ORA-00942: table or view does not exist
ÓÉÓÚ²éѯÓû§Ã»Óпɹ©·ÃÎʵÄemp¶ÔÏó£¬Òò´Ë¸ÃSQLÓï¾äÎÞ·¨Í¨¹ýÓïÒå¼ì²é¡£
3¡¢ ¼ì²é¹²Ïí³ØÖÐÊÇ·ñÓÐÏàͬµÄÓï¾ä´æÔÚ¡£¼ÙÈçÖ´ÐеÄSQLÓï¾äÒѾÔÚ¹²Ïí³ØÖдæÔÚͬÑùµÄ¸±±¾£¬ÄÇô¸ÃSQLÓï¾ä½«»á±»Èí½âÎö£¬Ò²¾ÍÊÇ¿ÉÒÔÖØÓÃÒѽâÎö¹ýµÄÓï¾äµÄÖ´Ðмƻ®ºÍÓÅ»¯·½°¸£¬¿ÉÒÔºöÂÔÓï¾ä½âÎö¹ý³ÌÖÐ×îºÄ·Ñ×ÊÔ´µÄ²½Ö裬ÕâÒ²ÊÇÎÒÃÇΪʲôһֱǿµ÷±
Ïà¹ØÎĵµ£º
create or replace procedure aa1 is
v_aa varchar2(20);
v_bb varchar2(20);
va_aa varchar2(20);
va_bb varchar2(20);
va_number_aa number;
message varchar2(60);
CURSOR aas is
SELECT DISTINCT aa.aa, aa.bb from aa;
CURSOR aaas is
SELECT DISTINCT aaa.aa, aaa.bb from aaa where aaa.aa = v_aa ......
1¡¢»ù±¾Óï·¨
SELECT
from
WHERE
GROUP BY
HAVING
ORDER BY
SELECT:²éѯµÄ×Ö¶Î
1¡¢¿ÉÓÃ*±íʾËùÓÐ×ֶΡ£
2¡¢×Ö¶ÎÖ®¼äÓöººÅ·Ö¸î¡£
3¡¢¿ÉΪ×Ö¶ÎÆð±ðÃû Æä±ðÃû¿Éд³ÉSELECT AAAA¡£AA AS SS »ò AAAA¡£AA SS ¿ÉÊ¡ÂÔas
4¡¢¿ÉÖ±½Óд×Ö¶ÎÖµ£ºÈç SELECT AAAA¡£AA SS,'ÕÅÈý' NAME from ¡£¡£¡£
from:²éѯµÄ±íÃû
1¡¢±íà ......
C:\Documents and Settings\Administrator>sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on ÐÇÆÚ¶þ 10ÔÂ 13 15:26:31 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Á¬½Óµ½:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partition ......
OracleÐÔÄÜÓÅ»¯¼¼ÇÉ
http://tech.it168.com/db/o/2006-06-15/200606151715426.shtml
1.Ñ¡ÓÃÊʺϵÄORACLEÓÅ»¯Æ÷
ORACLEµÄÓÅ»¯Æ÷¹²ÓÐ3ÖÖ:
1.RULE(»ùÓÚ¹æÔò) 2.COST(»ùÓڳɱ¾) 3.CHOOSE(Ñ¡ÔñÐÔ)
ÉèÖÃȱʡµÄÓÅ»¯Æ÷,¿ÉÒÔͨ¹ý¶Ôinit.oraÎļþÖÐOPTIMIZER_MODE²ÎÊ ......
CLOB:ÓÃÀ´´æ´¢µ¥×Ö½ÚµÄ×Ö·ûÊý¾Ý
NCLOB:ÓÃÀ´´æ´¢¶à×Ö½ÚµÄ×Ö·ûÊý¾Ý
BLOB£ºÓÃÓÚ´æ´¢¶þ½øÖÆÊý¾Ý
BFILE:´æ´¢ÔÚÎļþÖеĶþ½øÖÆÊý¾Ý£¬Õâ¸öÎļþÖеÄÊý¾ÝÖ»Äܱ»Ö»¶Á·Ã¡£µ«¸ÃÎļþ²»°üº¬ÔÚÊý¾Ý¿âÄÚ¡£
CLOB£¬NCLOB£¬BLOB¶¼ÊÇÄÚ²¿µÄLOBÀàÐÍ£¬×4G£¬Ã»ÓÐLONGÖ»ÄÜÓÐÒ»ÁеÄÏÞÖÆ¡£
select lpad(to_number(nvl(max(classid),to_number( ......