SQL Server´æ´¢¹ý³Ì½éÉÜ
ÕªÒª£º±¾ÎĽéÉÜÁËSQL Server´æ´¢¹ý³ÌÏà¶ÔÓÚÆäËûµÄÊý¾Ý¿â·ÃÎÊ·½·¨µÄÓŵ㼰SQL Server´æ´¢¹ý³ÌµÄ·ÖÀàµÈ¡£
SQL Server´æ´¢¹ý³ÌÊÇÒ»¸ö±»ÃüÃûµÄ´æ´¢ÔÚ·þÎñÆ÷ÉϵÄTransacation-SqlÓï¾ä¼¯ºÏ,ÊÇ·â×°ÖØ¸´ÐÔ¹¤×÷µÄÒ»ÖÖ·½·¨,ËüÖ§³ÖÓû§ÉùÃ÷µÄ±äÁ¿¡¢Ìõ¼þÖ´ÐÐºÍÆäËûÇ¿´óµÄ±à³Ì¹¦ÄÜ¡£
SQL Server´æ´¢¹ý³ÌÏà¶ÔÓÚÆäËûµÄÊý¾Ý¿â·ÃÎÊ·½·¨ÓÐÒÔϵÄÓŵ㣺
(1)ÖØ¸´Ê¹Óᣴ洢¹ý³Ì¿ÉÒÔÖØ¸´Ê¹Ó㬴Ӷø¿ÉÒÔ¼õÉÙÊý¾Ý¿â¿ª·¢ÈËÔ±µÄ¹¤×÷Á¿¡£
(2)Ìá¸ßÐÔÄÜ¡£´æ´¢¹ý³ÌÔÚ´´½¨µÄʱºò¾Í½øÐÐÁ˱àÒ룬½«À´Ê¹ÓõÄʱºò²»ÓÃÔÙÖØÐ±àÒë¡£Ò»°ãµÄSQLÓï¾äÿִÐÐÒ»´Î¾ÍÐèÒª±àÒëÒ»´Î£¬ËùÒÔʹÓô洢¹ý³ÌÌá¸ßÁËЧÂÊ¡£
(3)¼õÉÙÍøÂçÁ÷Á¿¡£´æ´¢¹ý³ÌλÓÚ·þÎñÆ÷ÉÏ£¬µ÷ÓõÄʱºòÖ»ÐèÒª´«µÝ´æ´¢¹ý³ÌµÄÃû³ÆÒÔ¼°²ÎÊý¾Í¿ÉÒÔÁË£¬Òò´Ë½µµÍÁËÍøÂç´«ÊäµÄÊý¾ÝÁ¿¡£
(4)°²È«ÐÔ¡£²ÎÊý»¯µÄ´æ´¢¹ý³Ì¿ÉÒÔ·ÀÖ¹SQL×¢ÈëʽµÄ¹¥»÷£¬¶øÇÒ¿ÉÒÔ½«Grant¡¢DenyÒÔ¼°RevokeȨÏÞÓ¦ÓÃÓÚ´æ´¢¹ý³Ì¡£
SQL Server´æ´¢¹ý³ÌÒ»¹²·ÖΪÁËÈýÀࣺÓû§¶¨ÒåµÄ´æ´¢¹ý³Ì¡¢À©Õ¹´æ´¢¹ý³ÌÒÔ¼°ÏµÍ³´æ´¢¹ý³Ì¡£
ÆäÖУ¬Óû§¶¨ÒåµÄ´æ´¢¹ý³ÌÓÖ·ÖΪTransaction-SQLºÍCLRÁ½ÖÖÀàÐÍ¡£
1.Transaction-SQL ´æ´¢¹ý³ÌÊÇÖ¸±£´æµÄTransaction-SQLÓï¾ä¼¯ºÏ£¬¿ÉÒÔ½ÓÊܺͷµ»ØÓû§ÌṩµÄ²ÎÊý¡£
2.CLR´æ´¢¹ý³ÌÊÇÖ¸¶Ô.Net Framework¹«¹²ÓïÑÔÔËÐÐʱ(CLR)·½·¨µÄÒýÓ㬿ÉÒÔ½ÓÊܺͷµ»ØÓû§ÌṩµÄ²ÎÊý¡£ËûÃÇÔÚ.Net Framework³ÌÐò¼¯ÖÐÊÇ×÷ΪÀàµÄ¹«¹²¾²Ì¬·½·¨ÊµÏֵġ£(±¾ÎľͲ»×÷½éÉÜÁË)
´´½¨SQL Server´æ´¢¹ý³ÌµÄÓï¾äÈçÏ£º
ÒÔÏÂΪÒýÓõÄÄÚÈÝ£º
CREATE { PROC | PROCEDURE } [schema_name.] procedure_name [ ; number ] [ { @parameter [ type_schema_name. ] data_type } [ VARYING ] [ = default ] [ [ OUT [ PUT ] ] [ ,n ] [ WITH < procedure_option> [ ,n ] [ FOR REPLICATION ] AS { < sql_statement> [;][ n ] | < method_specifier> } [;] < procedure_option> 
Ïà¹ØÎĵµ£º
Ò»£®¼òµ¥SQL²éѯ£º
1£©:ͳ¼ÆÃ¿¸ö²¿ÃÅÔ±¹¤µÄÊýÄ¿
select dept,count(*) from employee group by dept;
2£©:ͳ¼ÆÃ¿¸ö²¿ÃÅÔ±¹¤µÄÊýÄ¿´óÓÚÒ»¸öµÄ¼Ç¼
select dept,count(*) from employee group by dept having count(*)>1;
3£©:ͳ¼Æ¹¤×ʳ¬¹ý1200µÄÔ±¹¤ËùÔÚ²¿ÃŵÄÃû³Æ
select e.first_name,salary,d.name
from s_emp ......
µ±×°ÉÏÁËMSSQL2005ºó£¬ÄÚ´æµÄÕ¼Óûá±äµÃºÜ´ó¡£ËùÒÔÈç¹ûÓÃÒ»¸öÅúÁ¿´¦ÀíÀ´¿ªÆô»ò¹Ø±ÕMSSQL2005ËùÓеķþÎñ£¬Äǽ«»áÈÃÎÒÃǵĵçÄÔ¸üºÃʹÓ᣸ù¾Ý×Ô¼ºµÄ¾Ñ飬×ö³öÁËÏÂÃæÁ½¸öÅú´¦Àí£º
1¡¢¿ªÆô·þÎñ£º£¨¸´ÖƺáÏßµÄÄÚÈÝ£¬×¢Ò⣬·þÎñÆ÷ÕæÕýµÄÃû³ÆÄã¿ÉÒÔͨ¹ý“¿ªÊ¼--¡·¿Ø¼þÃæ°æ--¡·¹ÜÀí¹¤¾ ......
sql2005ÖÐÒ»¸öxml¾ÛºÏµÄÀý×Ó ÊÕ²Ø
¸ÃÎÊÌâÀ´×ÔÂÛ̳ÌáÎÊ£¬ÑÝʾSQL´úÂëÈçÏÂ
--½¨Á¢²âÊÔ»·¾³
set nocount on
create table test(ID varchar(20),NAME varchar(20))
insert into test select '1','aaa'
insert into test select '1','bbb'
insert into test select '1','ccc'
insert into test select '2','ddd'
inser ......
¾ÛºÏº¯Êý
MAX(×Ö¶Î)
Çóij×Ö¶ÎÖеÄ×î´óÖµ
MIN(×Ö¶Î)
Çóij×Ö¶ÎÖеÄ×îСֵ
AVG(×Ö¶Î)
Çóij×Ö¶ÎÖÐµÄÆ½¾ùÖµ
SUM(×Ö¶Î)
Çóij×Ö¶ÎÖеÄ×ܺÍ
COUNT(×Ö¶Î)
ͳ¼ÆÄ³×ֶηǿռͼÊý
COUNT
......
Transact-SQL
ÓïÑÔʹÓõÄÁ÷³Ì¿ØÖÆÃüÁîÓë³£¼ûµÄ³ÌÐòÉè¼ÆÓïÑÔÀàËÆÖ÷ÒªÓÐÒÔϼ¸ÖÖ¿ØÖÆÃüÁî¡£
4.6.1 IF…ELSE
ÆäÓï·¨ÈçÏ£º
IF <Ìõ¼þ±í´ïʽ>
<ÃüÁîÐлò³ÌÐò¿é>
[ELSE [Ìõ¼þ±í´ïʽ]
<ÃüÁîÐлò³ÌÐò¿é>]
ÆäÖÐ<Ìõ¼þ±í´ïʽ>¿ÉÒÔÊǸ÷ÖÖ±í´ïʽµÄ×éºÏ£¬µ«±í´ïʽµÄÖµ±ØÐëÊÇÂß¼Öµ“Õæ&rdq ......