Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

SQL SERVER ²Î¿¼£ºÓαê(Cursor)µÄ½²½âÓëʵÀý

 
ÔÚÊý¾Ý¿âÖУ¬ÓαêÊÇÒ»¸öÊ®·ÖÖØÒªµÄ¸ÅÄî¡£ÓαêÌṩÁËÒ»ÖÖ¶Ô´Ó±íÖмìË÷³öµÄÊý¾Ý½øÐвÙ×÷µÄÁé»îÊֶΣ¬¾Í±¾ÖʶøÑÔ£¬Óαêʵ¼ÊÉÏÊÇÒ»ÖÖÄÜ´Ó°üÀ¨¶àÌõÊý¾Ý¼Ç¼µÄ½á¹û¼¯ÖÐÿ´ÎÌáÈ¡Ò»Ìõ¼Ç¼µÄ»úÖÆ¡£Óαê×ÜÊÇÓëÒ»ÌõT_SQL Ñ¡ÔñÓï¾äÏà¹ØÁª£¬ÒòΪÓαêÓɽá¹û¼¯£¨¿ÉÒÔÊÇÁãÌõ¡¢Ò»Ìõ»òÓÉÏà¹ØµÄÑ¡ÔñÓï¾ä¼ìË÷³öµÄ¶àÌõ¼Ç¼£©ºÍ½á¹û¼¯ÖÐÖ¸ÏòÌض¨¼Ç¼µÄÓαêλÖÃ×é³É¡£
µ±¾ö¶¨¶Ô½á¹û¼¯½øÐд¦Àíʱ£¬±ØÐëÉùÃ÷Ò»¸öÖ¸Ïò¸Ã½á¹û¼¯µÄÓαꡣÈç¹ûÔø¾­Óà C ÓïÑÔд¹ý¶ÔÎļþ½øÐд¦ÀíµÄ³ÌÐò£¬ÄÇôÓαê¾ÍÏñÄú´ò¿ªÎļþËùµÃµ½µÄÎļþ¾ä±úÒ»Ñù£¬Ö»ÒªÎļþ´ò¿ª³É¹¦£¬¸ÃÎļþ¾ä±ú¾Í¿É´ú±í¸ÃÎļþ¡£¶ÔÓÚÓαê¶øÑÔ£¬ÆäµÀÀíÊÇÏàͬµÄ¡£¿É¼ûÓαêÄܹ»ÊµÏÖ°´Ó봫ͳ³ÌÐò¶ÁȡƽÃæÎļþÀàËƵķ½Ê½´¦ÀíÀ´×Ô»ù´¡±íµÄ½á¹û¼¯£¬´Ó¶ø°Ñ±íÖÐÊý¾ÝÒÔƽÃæÎļþµÄÐÎʽ³ÊÏÖ¸ø³ÌÐò¡£
ÎÒÃÇÖªµÀ¹ØϵÊý¾Ý¿â¹ÜÀíϵͳʵÖÊÊÇÃæÏò¼¯ºÏµÄ£¬ÔÚMS SQL SERVER Öв¢Ã»ÓÐÒ»ÖÖÃèÊö±íÖе¥Ò»¼Ç¼µÄ±í´ïÐÎʽ£¬³ý·ÇʹÓÃwhere ×Ó¾äÀ´ÏÞÖÆÖ»ÓÐÒ»Ìõ¼Ç¼±»Ñ¡ÖС£Òò´ËÎÒÃDZØÐë½èÖúÓÚÓαêÀ´½øÐÐÃæÏòµ¥Ìõ¼Ç¼µÄÊý¾Ý´¦Àí¡£
    
Óɴ˿ɼû£¬ÓαêÔÊÐíÓ¦ÓóÌÐò¶Ô²éѯÓï¾äselect ·µ»ØµÄÐнá¹û¼¯ÖÐÿһÐнøÐÐÏàͬ»ò²»Í¬µÄ²Ù×÷£¬¶ø²»ÊÇÒ»´Î¶ÔÕû¸ö½á¹û¼¯½øÐÐͬһÖÖ²Ù×÷£»Ëü»¹Ìṩ¶Ô»ùÓÚÓαêλÖöø¶Ô±íÖÐÊý¾Ý½øÐÐɾ³ý»ò¸üеÄÄÜÁ¦£»¶øÇÒ£¬ÕýÊÇÓαê°Ñ×÷ΪÃæÏò¼¯ºÏµÄÊý¾Ý¿â¹ÜÀíϵͳºÍÃæÏòÐеijÌÐòÉè¼ÆÁ½ÕßÁªÏµÆðÀ´£¬Ê¹Á½¸öÊý¾Ý´¦Àí·½Ê½Äܹ»½øÐйµÍ¨¡£
ÿһ¸öÓαê±ØÐëÓÐËĸö×é³É²¿·ÖÕâËĸö¹Ø¼ü²¿·Ö±ØÐë·ûºÏÏÂÃæµÄ˳Ðò£»
1.DECLARE Óαê
2.OPEN Óαê
3.´ÓÒ»¸öÓαêÖÐFETCH ÐÅÏ¢
4.CLOSE »òDEALLOCATE Óαê
ͨ³£ÎÒÃÇʹÓÃDECLARE À´ÉùÃ÷Ò»¸öÓαêÉùÃ÷Ò»¸öÓαêÖ÷Òª°üÀ¨ÒÔÏÂÖ÷ÒªÄÚÈÝ£º
ÓαêÃû×Ö
Êý¾ÝÀ´Ô´£¨±íºÍÁУ©
Ñ¡È¡Ìõ¼þ
ÊôÐÔ£¨½ö¶Á»ò¿ÉÐ޸ģ©
ÆäÓï·¨¸ñʽÈçÏ£º
DECLARE cursor_name [INSENSITIVE] [SCROLL] CURSOR
FOR select_statement
[FOR {READ ONLY | UPDATE [OF column_name [,...n]]}]
ÆäÖУº
cursor_name Ö¸ÓαêµÄÃû×Ö¡£
INSENSITIVE
±íÃ÷MS SQL SERVER »á½«Óα궨ÒåËùÑ¡È¡³öÀ´µÄÊý¾Ý¼Ç¼´æ·ÅÔÚÒ»ÁÙʱ±íÄÚ£¨½¨Á¢ÔÚtempdb Êý¾Ý¿âÏ£©¡£¶Ô¸ÃÓαêµÄ¶ÁÈ¡²Ù×÷½ÔÓÉÁÙʱ±íÀ´Ó¦´ð¡£Òò´Ë£¬¶Ô»ù±¾±íµÄÐ޸IJ¢²»Ó°ÏìÓαêÌáÈ¡µÄÊý¾Ý£¬¼´Óα겻»áËæ×Å»ù±¾±íÄÚÈݵĸıä¶ø¸Ä±ä£¬Í¬Ê±Ò²ÎÞ·¨Í¨¹ýÓαêÀ´¸üлù±¾±í¡£Èç¹û²»Ê¹Óøñ£Áô×Ö£¬ÄÇô¶Ô»ù±¾±íµÄ¸üС¢É¾³ý¶¼»á·´Ó³µ½ÓαêÖС£
ÓαêÖ¸ÕëʾÒâͼ
Ïêϸ£º
1.¶¨ÒåÒ»¸ö±ê×


Ïà¹ØÎĵµ£º

º½¿Õ¹«Ë¾¹ÜÀíϵͳ(VC++ ÓëSQL 2005)

ϵͳ»·¾³£ºWindows 7
Èí¼þ»·¾³£ºVisual C++ 2008 SP1 +SQL Server 2005
±¾´ÎÄ¿µÄ£º±àдһ¸öº½¿Õ¹ÜÀíϵͳ
      ÕâÊÇÊý¾Ý¿â¿Î³ÌÉè¼ÆµÄ³É¹û£¬ËäÈ»³É¼¨²»¼Ñ£¬µ«ÊÇ×÷ΪÎÒÓÃVC++ ÒÔÀ´±àдµÄ×î´ó³ÌÐò»¹ÊÇ´«µ½ÍøÉÏ£¬ÒÔ¹©²Î¿¼¡£ÓÃVC++ ×öÊý¾Ý¿âÉè¼Æ²¢²»ÈÝÒ×£¬µ«Ò²²»ÊDz»¿ÉÄÜ¡£ÒÔÏÂÊÇÎҵijÌÐò½çÃ棬ºóÃæ ......

PL/SQLµ¥Ðк¯ÊýºÍ×麯ÊýÏê½â

 ¡¡¡¡º¯ÊýÊÇÒ»ÖÖÓÐÁã¸ö»ò¶à¸ö²ÎÊý²¢ÇÒÓÐÒ»¸ö·µ»ØÖµµÄ³ÌÐò¡£ÔÚSQLÖÐOracleÄÚ½¨ÁËһϵÁк¯Êý£¬ÕâЩº¯Êý¶¼¿É±»³ÆΪSQL»òPL/SQLÓï¾ä£¬º¯ÊýÖ÷Òª·ÖΪÁ½´óÀࣺ
¡¡¡¡ µ¥Ðк¯Êý
¡¡¡¡ ×麯Êý
¡¡¡¡±¾ÎĽ«ÌÖÂÛÈçºÎÀûÓõ¥Ðк¯ÊýÒÔ¼°Ê¹ÓùæÔò¡£
¡¡¡¡SQLÖеĵ¥Ðк¯Êý
¡¡¡¡SQLºÍPL/SQLÖÐ×Ô´øºÜ¶àÀàÐ͵ĺ¯Êý£¬ÓÐ×Ö·û¡¢Êý×Ö¡¢ÈÕÆÚ¡ ......

sqlÓï¾ä¹éÄÉ£¨oracle£©

¶ÔÈÕ³£¹¤×÷ÖÐÓõ½µÄ¸Ð¾õÓÐÓõÄsqlÓï¾ä×ö¸ö¹éÄÉ£¬ÓÃÓÚ½ñºóιÊ֪С£
*¸´ÖÆ±í£º
create table tablename  as  select * from table_src;
create table tablename  as  select * from table_src where 1 <> 1; --Ö»¸´ÖƱí½á¹¹ ......

sql server°²×°µÄÒ»¸öСÎÊÌâ

     ÒÔÇ°ÔÚ°²×°sqlµÄʱºò£¬Èç´ËÌáʾ£¬ÎÒÖ»ÒªÖØÐÂÆô¶¯¼´¿É£¬¿ÉÊǽñÌìÖØÐÂÆô¶¯ÁËN´Î¼ÆËã»ú£¬ÎÊÌâÈ´Ë¿ºÁûÓнâ¾ö£¬ÒÀÈ»ÌáʾÕâÑùµÄ»°¡£“ÒÔÇ°µÄij¸ö³ÌÐò°²×°ÒÑÔÚ°²×°¼ÆËã»úÉÏ´´½¨¹ÒÆðµÄÎļþ²Ù×÷¡£ÔËÐа²×°³ÌÐò֮ǰ±ØÐëÖØÐÂÆô¶¯¼ÆËã»ú¡£” Ö»ºÃgoogleÒÔÏ£¬×îÖÕµÃÖªÊÇ°²×°³ÌÐòÔÚÏÈÇ°µÄ°²×°¹ý³ÌÖÐ ......

SQL ÏÈɸѡÔÚ¹ØÁªµÄÀý×Ó

select ID,Item1,Item2,Item3,Item4
into #Temp
from (
select ID='200910',Item1='A',Item2='B',Item3='C',Item4='T1'
union all
select ID='200910',Item1='',Item2='B',Item3='C' ,Item4='G2'
union all
select ID='200910',Item1='A',Item2='D',Item3='C' ,Item4='T3'
union all
select ID='200910',Item ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ