sqlÍâ¼üÔ¼ÊøNO ACTION,CASCADE,SET NULL,SET DEFAULT
NO ACTION
Ö¸¶¨Èç¹ûÊÔͼɾ³ý/ÐÞ¸ÄijһÐУ¬¶ø¸ÃÐеļü±»ÆäËû±íµÄÏÖÓÐÐÐÖеÄÍâ¼üËùÒýÓã¬Ôò²úÉú´íÎ󲢻عö DELETE/UPDATEÓï¾ä¡£
CASCADE¡¢SET NULL ºÍ SET DEFAULT
ÔÊÐíͨ¹ýɾ³ý»ò¸üмüÖµÀ´Ó°ÏìÖ¸¶¨¾ßÓÐÍâ¼ü¹ØÏµµÄ±í£¬ÕâЩÍâ¼ü¹ØÏµ¿É×·Ëݵ½ÔÚÆäÖнøÐÐÐÞ¸ÄµÄ±í¡£Èç¹ûΪĿ±ê±íÒ²¶¨ÒåÁ˼¶ÁªÒýÓòÙ×÷£¬ÄÇôָ¶¨µÄ¼¶Áª²Ù×÷Ò²½«Ó¦ÓÃÓÚɾ³ý»ò¸üеÄÄÇЩÐС£²»ÄÜΪ¾ßÓÐ timestamp ÁеÄÍâ¼ü»òÖ÷¼üÖ¸¶¨ CASCADE¡£
ON DELETE CASCADE
Ö¸¶¨Èç¹ûÊÔͼɾ³ýijһÐУ¬¶ø¸ÃÐеļü±»ÆäËû±íµÄÏÖÓÐÐÐÖеÄÍâ¼üËùÒýÓã¬ÔòÒ²½«É¾³ýËùÓаüº¬ÄÇЩÍâ¼üµÄÐС£
ON UPDATE CASCADE
Ö¸¶¨Èç¹ûÊÔͼ¸üÐÂijһÐÐÖеļüÖµ£¬¶ø¸ÃÐеļüÖµ±»ÆäËû±íµÄÏÖÓÐÐÐÖеÄÍâ¼üËùÒýÓã¬Ôò×é³ÉÍâ¼üµÄËùÓÐÖµÒ²½«¸üе½Îª¸Ã¼üÖ¸¶¨µÄÐÂÖµ¡£ (Èç¹û timestamp ÁÐÊÇÍâ¼ü»ò±»ÒýÓüüµÄÒ»²¿·Ö£¬Ôò²»ÄÜÖ¸¶¨ CASCADE¡£ )
ON DELETE SET NULL
Ö¸¶¨Èç¹ûÊÔͼɾ³ýijһÐУ¬¶ø¸ÃÐеļü±»ÆäËû±íµÄÏÖÓÐÐÐÖеÄÍâ¼üËùÒýÓã¬Ôò×é³É±»ÒýÓÃÐÐÖеÄÍâ¼üµÄËùÓÐÖµ½«±»ÉèÖÃΪ NULL¡£Ä¿±ê±íµÄËùÓÐÍâ¼üÁбØÐë¿ÉΪ¿ÕÖµ£¬´ËÔ¼Êø²Å¿ÉÖ´ÐС£
ON UPDATE SET NULL
Ö¸¶¨Èç¹ûÊÔͼ¸üÐÂijһÐУ¬¶ø¸ÃÐеļü±»ÆäËû±íµÄÏÖÓÐÐÐÖеÄÍâ¼üËùÒýÓã¬Ôò×é³É±»ÒýÓÃÐÐÖеÄÍâ¼üµÄËùÓÐÖµ½«±»ÉèÖÃΪ NULL¡£Ä¿±ê±íµÄËùÓÐÍâ¼üÁбØÐë¿ÉΪ¿ÕÖµ£¬´ËÔ¼Êø²Å¿ÉÖ´ÐС£
ON DELETE SET DEFAULT
Ö¸ ¶¨Èç¹ûÊÔͼɾ³ýijһÐУ¬¶ø¸ÃÐеļü±»ÆäËû±íµÄÏÖÓÐÐÐÖеÄÍâ¼üËùÒýÓã¬Ôò×é³É±»ÒýÓÃÐÐÖеÄÍâ¼üµÄËùÓÐÖµ½«±»ÉèÖÃΪËüÃǵÄĬÈÏÖµ¡£Ä¿±ê±íµÄËùÓÐÍâ¼üÁбØÐë¾ß ÓÐĬÈÏÖµ¶¨Ò壬´ËÔ¼Êø²Å¿ÉÖ´ÐС£Èç¹ûij¸öÁпÉΪ¿ÕÖµ£¬²¢ÇÒδÉèÖÃÏÔʽµÄĬÈÏÖµ£¬Ôò»áʹÓà NULL ×÷Ϊ¸ÃÁеÄÒþʽĬÈÏÖµ¡£Òò ON DELETE SET DEFAULT ¶øÉèÖõÄÈκηǿÕÖµÔÚÖ÷±íÖбØÐëÓжÔÓ¦µÄÖµ£¬²ÅÄÜά»¤Íâ¼üÔ¼ÊøµÄÓÐЧÐÔ¡£
ON UPDATE SET DEFAULT
Ö¸ ¶¨Èç¹ûÊÔͼ¸üÐÂijһÐУ¬¶ø¸ÃÐеļü±»ÆäËû±íµÄÏÖÓÐÐÐÖеÄÍâ¼üËùÒýÓã¬Ôò×é³É±»ÒýÓÃÐÐÖеÄÍâ¼üµÄËùÓÐÖµ½«±»ÉèÖÃΪËüÃǵÄĬÈÏÖµ¡£Ä¿±ê±íµÄËùÓÐÍâ¼üÁбØÐë¾ß ÓÐĬÈÏÖµ¶¨Ò壬´ËÔ¼Êø²Å¿ÉÖ´ÐС£Èç¹ûij¸öÁпÉΪ¿ÕÖµ£¬²¢ÇÒδÉèÖÃÏÔʽµÄĬÈÏÖµ£¬Ôò»áʹÓà NULL ×÷Ϊ¸ÃÁеÄÒþʽĬÈÏÖµ¡£Òò ON UPDATE SET DEFAULT ¶øÉèÖõÄÈκηǿÕÖµÔÚÖ÷±íÖбØÐëÓжÔÓ¦µÄÖµ£¬²ÅÄÜά»¤Íâ¼üÔ¼ÊøµÄÓÐЧÐÔ¡£
Ïà¹ØÎĵµ£º
ÔÚ´æ´¢¹ý³ÌÖо³£ÐèÒªÖ´ÐгÌÐò×é³ÉµÄSQLÓï¾ä£¬¿ÉÒÔʹÓÃexec(@sql),
Ò²¿ÉÒÔʹÓÃexec sp_executesql @sql¡£µ«Ê¹ÓÃsp_executesqlÒªÓÅÓÚexec£¬½¨ÒéʹÓà sp_executesql ¶ø²»ÒªÊ¹Óà EXECUTE Óï¾äÖ´ÐÐ×Ö·û´®¡£Ö§³Ö²ÎÊýÌæ»»²»½öʹ sp_executesql ±È EXECUTE ¸üͨÓ㬶øÇÒ »¹Ê¹ sp_executesql ¸üÓÐЧ£ ......
¡¾SQL SERVER Êý¾Ý¿âʵÓÃSQLÓï¾ä¡¿
1.°´ÐÕÊϱʻÅÅÐò:
Select * from TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as
2.·ÖÒ³SQLÓï¾ä
select * from(select (row_number() OVER (ORDER BY tab.ID Desc)) as rownum,tab.* from ±íÃû As tab) As t where rownum between ÆðʼλÖà And ½áÊøÎ»ÖÃ
......
¡¡¿Î³Ì ¶þ PL/SQL ²éѯÐк¯Êý
¡¡¡¡
¡¡¡¡±¾¿ÎÖØµã£º
¡¡¡¡1¡¢ÕÆÎÕ¸÷ÖÖÔÚPL/SQLÖпÉÓõÄROWº¯Êý
¡¡¡¡
¡¡¡¡2¡¢Ê¹ÓÃÕâЩº¯ÊýµÄ»ù±¾¸ÅÄî
¡¡¡¡
¡¡¡¡3¡¢SELECTÓï¾äÖÐʹÓú¯Êý
¡¡¡¡
¡¡¡¡4¡¢Ê¹ÓÃת»»º¯Êý
¡¡¡¡
¡¡¡¡×¢Ò⣺ÒÔÏÂʵÀýÖбêµã¾ùΪӢÎİë½Ç
¡¡¡¡
¡¡¡¡Ò»¡¢FUNCTIONµÄ×÷Óãº
¡¡¡¡
¡¡¡¡½øÐÐÊý¾Ý¼ÆË㣬ÐÞ¸Ä ......
¿Î³ÌËÄ ×麯Êý
¡¡¡¡
¡¡¡¡±¾¿ÎÖØµã£º
¡¡¡¡1¡¢Á˽â¿ÉÓõÄ×麯Êý
¡¡¡¡2¡¢ËµÃ÷ÿ¸ö×麯ÊýµÄʹÓ÷½·¨
¡¡¡¡3¡¢Ê¹ÓÃGROUP BY
¡¡¡¡4¡¢Í¨¹ýHAVINGÀ´ÏÞÖÆ·µ»Ø×é
¡¡¡¡×¢Ò⣺ÒÔÏÂʵÀýÖбêµã¾ùΪӢÎİë½Ç
¡¡¡¡Ò»¡¢¸ÅÄ
¡¡¡¡×麯ÊýÊÇÖ¸°´Ã¿×é·µ»Ø½á¹ûµÄº¯Êý¡£
¡¡¡¡×麯Êý¿ÉÒÔ³öÏÖÔÚSELECTºÍHAVING ×Ö¶ÎÖС£
¡¡¡¡GROUP ......
¸Õ¸Õ¸ßÖеÄһλͬѧÎÊÎÒÒ»µÀ±ÊÊÔÌ⣺Çë¼òÊöSQL×¢Èëʽ¹¥»÷¼°ÆäÔÀí¡£
£¨Q£º¹¥»÷£¿ÄѵÀÊÇ×öºÚ¿ÉÂ𣿣¿£©
¿ÉÒÔ°ÑÕâÖÖÐÐΪÀí½â³ÉºÚ¿ÍÐо¶£¬ÒòΪÕâÑù×öµÄÄ¿µÄ¾ÍÊÇ¡°·Ç·¨»ñÈ¡¡±¡£
£¨Q£ºÔõô×ö£¿£©
¿ÉÒÔ°´ÕÕÎÒÏÂÃæµÄ²½ÖèÒ»²½Ò»²½À´£¬´ó¼ÒÒ²¾Íµ±Ò»»Ø¡°ºÚ¿Í¡±ÁË¡££¨P.S. Õâ¿ÉÊÇÎÒ¡°¶À¼ÒÑÐÖÆ¡± ......