SQLÓï¾äÓÅ»¯·½·¨
ÎÒÃÇÒª×öµ½²»µ«»áдSQL£¬»¹Òª×öµ½Ð´³öÐÔÄÜÓÅÁ¼µÄSQLÓï¾ä¡£
¡¡¡¡
¡¡¡¡£¨1£©Ñ¡Ôñ×îÓÐЧÂʵıíÃû˳Ðò(Ö»ÔÚ»ùÓÚ¹æÔòµÄÓÅ»¯Æ÷ÖÐÓÐЧ)£º
¡¡¡¡
¡¡¡¡OracleµÄ½âÎöÆ÷°´ÕÕ´ÓÓÒµ½×óµÄ˳Ðò´¦Àífrom×Ó¾äÖеıíÃû£¬from×Ó¾äÖÐдÔÚ×îºóµÄ±í(»ù´¡±í driving table)½«±»×îÏÈ´¦Àí£¬ÔÚfrom×Ó¾äÖаüº¬¶à¸ö±íµÄÇé¿öÏÂ,Äã±ØÐëÑ¡Ôñ¼Ç¼ÌõÊý×îÉٵıí×÷Ϊ»ù´¡±í¡£¼ÙÈçÓÐ3¸öÒÔÉϵıíÁ¬½Ó²éѯ, ÄǾÍÐèҪѡÔñ½»²æ±í(intersection table)×÷Ϊ»ù´¡±í, ½»²æ±íÊÇÖ¸ÄǸö±»ÆäËû±íËùÒýÓÃµÄ±í¡£
¡¡¡¡
¡¡¡¡£¨2£©WHERE×Ó¾äÖеÄÁ¬½Ó˳Ðò£º
¡¡¡¡
¡¡¡¡Oracle²ÉÓÃ×Ô϶øÉϵÄ˳Ðò½âÎöWHERE×Ó¾ä,¸ù¾ÝÕâ¸öÔÀí,±íÖ®¼äµÄÁ¬½Ó±ØÐëдÔÚÆäËûWHEREÌõ¼þ֮ǰ, ÄÇЩÄܹ»¹ýÂ˵ô×î´óÊýÁ¿¼Ç¼µÄÌõ¼þ±ØÐëдÔÚWHERE×Ó¾äµÄĩβ¡£
¡¡¡¡
¡¡¡¡£¨3£©SELECT×Ó¾äÖбÜÃâʹÓÑ*’£º
¡¡¡¡
¡¡¡¡OracleÔÚ½âÎöµÄ¹ý³ÌÖÐ, »á½«‘*’ÒÀ´Îת»»³ÉËùÓеÄÁÐÃû, Õâ¸ö¹¤×÷ÊÇͨ¹ý²éѯÊý¾Ý×ÖµäÍê³ÉµÄ, ÕâÒâζ׎«ºÄ·Ñ¸ü¶àµÄʱ¼ä¡£
¡¡¡¡
¡¡¡¡£¨4£©¼õÉÙ·ÃÎÊÊý¾Ý¿âµÄ´ÎÊý£º
¡¡¡¡
¡¡¡¡OracleÔÚÄÚ²¿Ö´ÐÐÁËÐí¶à¹¤×÷: ½âÎöSQLÓï¾ä, ¹ÀËãË÷ÒýµÄÀûÓÃÂÊ, °ó¶¨±äÁ¿ , ¶ÁÊý¾Ý¿éµÈ¡£
¡¡¡¡
¡¡¡¡£¨5£©ÔÚSQL*Plus , SQL*FormsºÍPro*CÖÐÖØÐÂÉèÖÃARRAYSIZE²ÎÊý, Äܹ»Ôö¼Óÿ´ÎÊý¾Ý¿â·ÃÎʵļìË÷Êý¾ÝÁ¿ ,½¨ÒéֵΪ200¡£
¡¡¡¡
¡¡¡¡£¨6£©Ê¹ÓÃDECODEº¯ÊýÀ´¼õÉÙ´¦Àíʱ¼ä£º
¡¡¡¡
¡¡¡¡Ê¹ÓÃDECODEº¯ÊýÄܹ»±ÜÃâÖظ´É¨ÃèÏàͬ¼Ç¼»òÖظ´Á¬½ÓÏàͬµÄ±í¡£
¡¡¡¡
¡¡¡¡£¨7£©ÕûºÏ¼òµ¥,ÎÞ¹ØÁªµÄÊý¾Ý¿â·ÃÎÊ£º
¡¡¡¡
¡¡¡¡¼ÙÈçÄãÓм¸¸ö¼òµ¥µÄÊý¾Ý¿â²éѯÓï¾ä,ÄãÄܹ»°ÑËüÃÇÕûºÏµ½Ò»¸ö²éѯÖÐ(¼´Ê¹ËüÃÇÖ®¼äûÓйØϵ)¡£
¡¡¡¡
¡¡¡¡£¨8£©É¾³ýÖظ´¼Ç¼£º
¡¡¡¡
¡¡¡¡×î¸ßЧµÄɾ³ýÖظ´¼Ç¼·½·¨ ( ÓÉÓÚʹÓÃÁËROWID)Àý×Ó£º
¡¡¡¡
¡¡¡¡DELETE from EMP E WHERE E.ROWID > (SELECT MIN(X.ROWID) from EMP X WHERE X.EMP_NO = E.EMP_NO);
¡¡¡¡
¡¡¡¡£¨9£©ÓÃTRUNCATEÌæ´úDELETE£º
¡¡¡¡
¡¡¡¡µ±É¾³ý±íÖеļǼʱ,ÔÚͨ³£Çé¿öÏÂ, »Ø¹ö¶Î(rollback segments ) ÓÃÀ´´æ·ÅÄܹ»±»»Ö¸´µÄÐÅÏ¢. ¼ÙÈçÄãûÓÐCOMMITÊÂÎñ,ORACLE»á½«Êý¾Ý»Ö¸´µ½É¾³ý֮ǰµÄ״̬(׼ȷµØ˵Êǻָ´µ½Ö´ÐÐɾ³ýÃüÁî֮ǰµÄ×´¿ö) ¶øµ±ÔËÓÃTRUNCATEʱ, »Ø¹ö¶Î²»ÔÙ´æ·ÅÈκοɱ»»Ö¸´µÄÐÅÏ¢¡£µ±ÃüÁîÔËÐкó,Êý¾Ý²»Äܱ»»Ö¸´.ËùÒÔºÜÉÙµÄ×ÊÔ´±»µ÷ÓÃ,Ö´ÐÐʱ¼äÒ²»áºÜ¶Ì¡££¨TRUNCATE
Ïà¹ØÎĵµ£º
1.Çå¿ÕÈÕÖ¾
DUMP TRANSACTION ¿âÃû WITH NO_LOG
2.½Ø¶ÏÊÂÎñÈÕÖ¾£º
BACKUP LOG Êý¾Ý¿âÃû WITH NO_LOG
......
ϱí˵Ã÷ÔÚ Microsoft SQL Server Êý¾Ý¿âÖж¨ÒåµÄ£¬»òÔÚ Transact-SQL
Óï¾äÖÐÒýÓõĸ÷ÖÖ¶ÔÏóµÄ×î´óÖµ£¨ÊýÁ¿»ò´óС£©¡£ÏÂ±í²»°üº¬ Microsoft® SQL Server 2000™ Windows® CE °æ¡£
×î´óÖµ£¨ÊýÁ¿»ò´óС£©
¶ÔÏó
SQL Server 7.0
SQL Server 2000
Åú´¦Àí´óС
65,536 * ÍøÂçÊý¾Ý°ü´óС1
65,536 * Í ......
SqlServer 2000 ÓαêÓ÷¨Ð¡Àý ·µ¯ÑºÎ²É£Cannon(¿¨Ù¯) »
--------------------------------------------------------------------------------
DECLARE CURSOR (T-SQL)´´½¨Óαê
September 14th, 2006 by OoperMan (1 votes, average: 5 out of 5) Loading ...
SQL Server 2005 Áª»ú´ÔÊé
DECLARE CURSOR ......
ÓÐÒÔ϶þÕÅ±í£º
Õþµ³±í£ºÕþµ³ID£¬Õþµ³Ãû³Æ
ÒéÔ±±í£ºÒéÔ±ID£¬ÒéÔ±Ãû³Æ£¬Õþµ³ID
ÒªÇó²éѯËùÓеÄÕþµ³ÐÅÏ¢£¬°üº¬£ºÕþµ³Ãû³Æ£¬ÒéÔ±ÈËÊý£¬²¢°´ÒéÔ±ÈËÊýµÄ½µÐòÅÅÁУ¨²»¿ÉÒÔÓÃ×Ó²éѯ£©¡£
Õý½â:
SELECT a.name,
COUNT(b.id) AS counts
from zhen a
left join
yi b
on a.id=b.zhenid
GROUP ......