SQL SERVER 2005 ¼ò½é
SQL SERVER 2005 ¼ò½é
Ò»Ö±ÒÔÀ´£¬T-SQL¶¼ÊÇÈÝÒ×ÉÏÊֵĽṹ»¯²éѯÓïÑÔ£¬Ëæ×ÅSQL ServerµÄ°æ±¾Ñݽø£¬³ýÁËÄÚ²¿¹¦ÄÜÔö¼Ó£¬
T-SQLÒ²´ó·ùÀ©ÔöÁËеIJéѯָÁî¡£ÀýÈ磺XQuery¡¢È¡µÃÅÅÃû˳ÐòµÄº¯Êý¡¢¼¯ºÏÔËËã´îÅäOVERÔËËã·û¡¢TOPÔËËã·û¿ÉÒÔ´îÅä±äÁ¿»ò×Ó²éѯ£¬ÒÔ¼°Í¸¹ýÐÂÔöµÄCTE£¨Common Table Expression£©Óï·¨Íê³ÉÒÔǰÄÑÒÔ×öµ½µÄÑ»·²éѯ… …µÈµÈ¡£ÇÒSQL Server2005ͳһÁËÐí¶àÓï·¨µÄ±ê×¼£¬½«ÔÀ´ÐèҪ͸¹ýϵͳ´æ´¢¹ý³Ì¡¢DBCCÃüÁî²ÅÄܽ¨Öá¢É趨»òά»¤µÄ¹¦ÄÜ£¬¶¼»Ø¹éµ½±ê×¼µÄT-SQLÓï·¨¡£
Transact-SQLÒÀÆä¹¦ÄÜ¿ÉÒÔ·ÖΪÈý²¿·Ö£º
1¡¢Êý¾Ý²Ù×÷ÓïÑÔ£¨Data Manipulation Language, DML£©£ºÆäÖ÷ÒªÓï·¨ÓÐSelect¡¢Insert¡¢DeleteºÍUpdate¡£½åÒÔ²éѯ¡¢ÐÂÔö¡¢Ð޸ĺ͸üÐÂÊý¾Ý¡£
2¡¢Êý¾Ý¶¨ÒåÓïÑÔ£¨Data Definition Language, DDL£©£ºÆäÖ÷ÒªÓï·¨ÓÐCreate¡¢AlterºÍDrop¡£½åÒÔ½¨Á¢¡¢Ð޸ĺÍɾ³ýSQL Server·þÎñÆ÷¶ËÎï¼þ¡£
3¡¢Êý¾Ý¿ØÖÆÓïÑÔ£¨Data Control Language, DCL£©£ºÆäÖ÷ÒªÓï·¨ÓÐGrant¡¢DenyºÍRevoke¡£½åÒÔÔÊÐí¡¢¾Ü¾øºÍÒÆ³ýÕʺŽÇÉ«¶ÔÎï¼þµÄȨÏÞ¡£
SQL Server 2005ÊÇȫеÄÊý¾Ý¿âƽ̨ϵͳ£¬°üº¬¶àÖÖµÄÈí¼þÔª¼þÓë·þÎñ£¬À´Âú×ãÆóÒµ¶ÔÓÚÈÕ½¥¸´ÔÓµÄÊý¾ÝϵͳµÄÐèÇó¡£
1¡¢¹ØÏµÐÍÊý¾Ý¿âÒýÇæ
ÕâÊÇSQL Server 2005´¦Àí¹ØÏµÐÍÊý¾Ý¿âµÄºËÐÄÔª¼þ£¬¿ÉÂú×ã¸÷À಻ͬµÈ¼¶Ó¦ÓóÌÐò£¨Ð¡ÐÍÓ¦ÓóÌÐòµ½¾ÞÐÍÆóÒµµÄ½â¾ö·½°¸£©¶ÔÓÚÊý¾ÝµÄ´¢´æ¡¢²éѯÓë±ä¶¯µÄÐèÇó¡£
¹¦ÄÜ/Ç¿»¯
˵Ã÷
DDL Trigger
ÔÚ¹ýÈ¥£¬´«Í³µÄTrigger½öÄܲ¶×½¶ÔÊý¾Ý±íµÄÐÂÔö(Insert)¡¢É¾³ý(Delete)¡¢¸üÐÂ(Update)µÄʼþ£»ÐÂÔöµÄDDL Trigger£¬¿ÉÒÔ²¶×½µ½DDLÖ¸Áî´¥·¢£¬Ò²Êǽ¨Á¢(CREATE)¡¢ÐÞ¸Ä(ALTER)¡¢É¾³ý(DROP)µÈÖ¸Áî¡£¶ÔÓÚ¼à¿ØÊý¾Ý¿âÉϵĸ÷ÀàʼþÌṩ¸ü¶àµÄÄÜÁ¦¡£
Êý¾Ý·Ö¸î(Partitioning)
ÔÊÐíÊý¾Ý±í¿ÉÒÔ°´ÕÕ¹æÔò½«Êý¾Ý¿â´æ·ÅÔÚ²»Í¬µÄµµ°¸Èº×éÉÏ£¬²»µ«¿ÉÒÔÌáÉýЧÄÜ£¬Í¬Ê±Ç¿»¯¶ÔÓÚ³¬´óÊý¾Ý±íµÄ¹ÜÀíÓëά»¤µÄ»úÖÆ¡£
еÄÊý¾ÝÀàÐÍ
ÐÂÔö¼¸ÖÖºÃÓõÄÊý¾ÝÀàÐÍ£¬±ÈÈçNative XMLÊý¾ÝÀàÐÍ£ºÓÃÀ´Ö±½Ó´æ·ÅXMLµÄÊý¾ÝÖ®Óá£ÔÚ
Ïà¹ØÎĵµ£º
SQL> var a number
SQL> begin
2 :a :=1000;
3 end;
4 /
PL/SQL procedure successfully completed.
SQL> edit
Wrote file afiedt.buf
1 begin
2 dbms_output.put_line(:a);
3* end;
SQL> /
ͨ¹ýÕâ¸ö´úÂë¿ÉÒÔ¿´³öͨ¹ýpl/sql³õʼ»¯¸³ÖµµÄBind variable¿ÉÒÔ±»ÆäËûPl/sql³ÌÐòµ ......
ÎÒÃÇÒª×öµ½²»µ«»áдSQL£¬»¹Òª×öµ½Ð´³öÐÔÄÜÓÅÁ¼µÄSQLÓï¾ä¡£
¡¡¡¡
¡¡¡¡£¨1£©Ñ¡Ôñ×îÓÐЧÂʵıíÃû˳Ðò(Ö»ÔÚ»ùÓÚ¹æÔòµÄÓÅ»¯Æ÷ÖÐÓÐЧ)£º
¡¡¡¡
¡¡¡¡OracleµÄ½âÎöÆ÷°´ÕÕ´ÓÓÒµ½×óµÄ˳Ðò´¦Àífrom×Ó¾äÖеıíÃû£¬from×Ó¾äÖÐдÔÚ×îºóµÄ±í(»ù´¡±í driving table)½«±»×îÏÈ´¦Àí£¬ÔÚfrom×Ó¾äÖаüº¬¶à¸ö±íµÄÇé¿öÏÂ,Äã±ØÐëÑ¡Ôñ ......
¹À¼ÆÄãÊǰ²×°Ê±³öÏÖµÄÎÊÌâ¡£
½â¾ö·½·¨...
¹ØÓÚSQL°²×°±»¹ÒÆðµÄÐÞ¸´´ó¼Ò¿ÉÄܶ¼Óöµ½¹ýµ±SQL±»É¾³ýºóÐèÒªÖØÐ°²×°Ê±£¬½øÈë°²×°½çÃæ¾Í»á³öÏÖSQL´íÎóÌáʾ£º
´ÓǰµÄ°²×°³ÌÐò²Ù×÷ʹ°²×°³ÌÐò²Ù×÷¹ÒÆð£¬ÐèÒªÖØÐÂÆô¶¯¼ÆËã»ú
È»¶øÕâЩ¶¼Êǰ׷Ѿ¢£¬²»¹ÜÄãÖØÐÂÆô¶¯¶àÉÙ´ÎÒ²¶¼ÎÞ¼ÃÓÚÊ£¬ÏÂÃæÎҾͽ²½²ÔõÑùÄܹ»½â³ý°²×°»òÉý¼¶Ê±Îļþ±»¹Ò ......
--1¡¢²éÕÒÔ±¹¤µÄ±àºÅ¡¢ÐÕÃû¡¢²¿ÃźͳöÉúÈÕÆÚ£¬Èç¹û³öÉúÈÕÆÚΪ¿ÕÖµ£¬ÏÔʾÈÕÆÚ²»Ïê,²¢°´²¿ÃÅÅÅÐòÊä³ö,ÈÕÆÚ¸ñʽΪyyyy-mm-dd¡£
select emp_no,emp_name,dept,isnull(convert(char(10),birthday,120),'ÈÕÆÚ²»Ïê') birthday
from employee
order by dept
--2¡¢²éÕÒÓëÓ÷×ÔÇ¿ÔÚͬһ¸öµ¥Î»µÄÔ±¹¤ÐÕÃû¡¢ÐԱ𡢲¿ÃźÍÖ°³Æ
select ......