1¡¢°´Äê²éѯ£ºselect * from dbo.td_BBSBoardInfo where (year(BBI_DateTime) between 2006 and 2009)
°´Ô¡¢ÈÕ²éѯֻҪ½«year ¸ÄΪ month¡¢data
2¡¢°´ÄêÔ²éѯ£ºselect * from dbo.td_BBSBoardInfo where convert(varchar(6),BBI_DateTime,112) between 200606 and 200911 ......
1 ǰÑÔ
¿Í·þÒµÎñÊܵ½SQLÓï¾äµÄÓ°Ïì·Ç³£´ó£¬ÔÚ¹æÄ£±È½Ï´óµÄ¾Öµã£¬ÍùÍùÒòΪһ¸öСµÄSQLÓï¾ä²»¹»ÓÅ»¯£¬µ¼ÖÂÊý¾Ý¿âÐÔÄܼ±¾çϽµ£¬Ð¡ÐÍ»úidleËùÊ£ÎÞ¼¸£¬Ó¦Ó÷þÎñÆ÷¶ÏÁ¬¡¢³¬Ê±£¬ÑÏÖØÓ°ÏìÒµÎñµÄÕý³£ÔËÐС£Òò´Ë£¬³ÆµÍЧµÄSQLÓï¾äΪ¿Í·þÒµÎñµÄ‘¶ñÁú’²¢²»¹ý·Ö¡£Êý¾Ý¿âµÄÓÅ»¯·½·¨ÓкܶàÖÖ£¬ÔÚÓ¦ÓòãÀ´Ëµ£¬Ö÷ÒªÊÇ»ùÓÚË÷ÒýµÄÓÅ»¯¡£±¾´ÎÃØóŸù¾Ýʵ¼ÊµÄ¹¤×÷¾Ñ飬ÔÚÑз¢ÔÀ´ÒÑÓеķ½·¨µÄ»ù´¡ÉÏ£¬½øÐÐÁËһЩÀ©³ä£¬×ܽáÁË»ùÓÚË÷ÒýµÄSQLÓï¾äÓÅ»¯µÄ½µÁúÊ®°ËÕÆ£¬Ï£ÍûÓÐÒ»ÌìÄãÄÜÓÃÆäÖÐÒ»ÕÆÀ´Ñ±·þ¿Í·þÒµÎñÖкáÐеđ¶ñÁú’¡£
2 ×ܸÙ
l ½¨Á¢±ØÒªµÄË÷Òý
Õâ´Î´«ÊڵĽµÁúÊ®°ËÕÆ£¬×ܸÙÖ»ÓÐÒ»¾ä»°£º½¨Á¢±ØÒªµÄË÷Òý£¬Õâ¾ÍÊǺóÃæ½µÁúÊ®°ËÕÆµÄÄÚ¹¦»ù´¡¡£ÕâÒ»µã¿´ËÆÈÝÒ×ʵ¼ÊÈ´ºÜÄÑ¡£ÄѾÍÄÑÔÚÈçºÎÅжÏÄÄЩË÷ÒýÊDZØÒªµÄ£¬ÄÄЩÓÖÊDz»±ØÒªµÄ¡£ÅжϵÄ×îÖÕ±ê×¼ÊÇ¿´ÕâЩË÷ÒýÊÇ·ñ¶ÔÎÒÃǵÄÊý¾Ý¿âÐÔÄÜÓÐËù°ïÖú¡£¾ßÌåµ½·½·¨ÉÏ£¬¾Í±ØÐëÊìϤÊý¾Ý¿âÓ¦ÓóÌÐòÖеÄËùÓÐSQLÓï¾ä£¬´ÓÖÐͳ¼Æ³ö³£ÓõĿÉÄܶÔÐÔÄÜÓÐÓ°ÏìµÄ²¿·ÖSQL£¬·ÖÎö¡¢¹éÄɳö×÷ΪWhereÌõ¼þ×Ó¾äµÄ× ......
ÔÚÏÖ´úµÄ¶àÓû§¶àÈÎÎñϵͳÖУ¬±ØÈ»»á³öÏÖ¶à¸öÓû§Í¬Ê±·ÃÎʹ²ÏíµÄij¸ö¶ÔÏó£¬Õâ¸ö¶ÔÏó¿ÉÄÜÊÇ±í£¬ÐУ¬»òÕßÄÚ´æ½á¹¹£¬ÎªÁ˽â¾ö¶à¸öÓû§²¢·¢ÐÔ·ÃÎÊ´øÀ´µÄÊý¾ÝµÄ°²È«ÐÔ£¬ÍêÕûÐÔ¼°Ò»ÖÂÐÔÎÊÌ⣬±ØÐëÒªÓÐÒ»ÖÖ»úÖÆ£¬À´Ê¹¶ÔÕâЩ¹²Ïí×ÊÔ´µÄ²¢·¢ÐÔ·ÃÎÊ´®Ðл¯£¬oracleÖеÄËø¾Í¿ÉÒÔÌṩÕâÑùµÄ¹¦ÄÜ£¬µ±ÊÂÎñÔÚ¶Ôij¸ö¶ÔÏó½øÐвÙ×÷ǰ£¬ÏÈÏòϵͳ·¢³öÇëÇó£¬¶ÔÆä¼ÓÏàÓ¦µÄËø£¬¼ÓËøºó¸ÃÊÂÎñ¾Í¶Ô¸ÃÊý¾Ý¶ÔÏóÓÐÁËÒ»¶¨µÄ¿ØÖÆÈ¨ÏÞ£¬ÔÚ¸ÃÊÂÎñÊÍ·ÅËøÖ®Ç°£¬ÆäËûµÄÊÂÎñ²»ÄܶԴËÊý¾Ý¶ÔÏó½øÐиüвÙ×÷£¨¿ÉÒÔ×öselect¶¯×÷£¬µ«select ÀûÓõÄÊÇundoÖеÄǰ¾µÏñÊý¾ÝÁË£©.
OracleËøµÄ·ÖÀà
OracleËø»ù±¾ÉÏ¿ÉÒÔ·ÖΪ¶þÀà
a£º¹²ÏíËø£¨share locks£© Ò²³Æ¶ÁËø£¬sËø
b£ºÅÅËüËø (exclusive locks) Ò²³ÆÐ´Ëø£¬xËø
ÔÚÊý¾Ý¿âÖÐÓÐÁ½ÖÖ»ù±¾µÄËøÀàÐÍ£ºÅÅËüËø£¨Exclusive Locks£¬¼´XËø£©ºÍ¹²ÏíËø£¨Share Locks£¬¼´SËø£©¡£µ±Êý¾Ý¶ÔÏó±»¼ÓÉÏÅÅËüËøÊ±£¬ÆäËûµÄÊÂÎñ²»ÄܶÔËü¶ÁÈ¡ºÍÐ޸ġ£¼ÓÁ˹²ÏíËøµÄÊý¾Ý¶ÔÏó¿ÉÒÔ±»ÆäËûÊÂÎñ¶ÁÈ¡£¬µ«²»ÄÜÐ޸ġ£Êý¾Ý¿âÀûÓÃÕâÁ½ÖÖ»ù±¾µÄËøÀàÐÍÀ´¶ÔÊý¾Ý¿âµÄÊÂÎñ½øÐв¢·¢¿ØÖÆ¡£
°´Ëø±£»¤µÄÄÚÈÝ·ÖÀà
oracleÌṩ¶àÁ£¶È·âËø»úÖÆ£¬°´±£»¤¶ÔÏóÀ´·Ö£¬¾Ý´ËÓÖ¿ÉÒÔ·ÖΪ
a£ºdmlËø£¬ data locks Êý¾ÝËø£¬ÓÃÀ´± ......
ÔÚÏÖ´úµÄ¶àÓû§¶àÈÎÎñϵͳÖУ¬±ØÈ»»á³öÏÖ¶à¸öÓû§Í¬Ê±·ÃÎʹ²ÏíµÄij¸ö¶ÔÏó£¬Õâ¸ö¶ÔÏó¿ÉÄÜÊÇ±í£¬ÐУ¬»òÕßÄÚ´æ½á¹¹£¬ÎªÁ˽â¾ö¶à¸öÓû§²¢·¢ÐÔ·ÃÎÊ´øÀ´µÄÊý¾ÝµÄ°²È«ÐÔ£¬ÍêÕûÐÔ¼°Ò»ÖÂÐÔÎÊÌ⣬±ØÐëÒªÓÐÒ»ÖÖ»úÖÆ£¬À´Ê¹¶ÔÕâЩ¹²Ïí×ÊÔ´µÄ²¢·¢ÐÔ·ÃÎÊ´®Ðл¯£¬oracleÖеÄËø¾Í¿ÉÒÔÌṩÕâÑùµÄ¹¦ÄÜ£¬µ±ÊÂÎñÔÚ¶Ôij¸ö¶ÔÏó½øÐвÙ×÷ǰ£¬ÏÈÏòϵͳ·¢³öÇëÇó£¬¶ÔÆä¼ÓÏàÓ¦µÄËø£¬¼ÓËøºó¸ÃÊÂÎñ¾Í¶Ô¸ÃÊý¾Ý¶ÔÏóÓÐÁËÒ»¶¨µÄ¿ØÖÆÈ¨ÏÞ£¬ÔÚ¸ÃÊÂÎñÊÍ·ÅËøÖ®Ç°£¬ÆäËûµÄÊÂÎñ²»ÄܶԴËÊý¾Ý¶ÔÏó½øÐиüвÙ×÷£¨¿ÉÒÔ×öselect¶¯×÷£¬µ«select ÀûÓõÄÊÇundoÖеÄǰ¾µÏñÊý¾ÝÁË£©.
OracleËøµÄ·ÖÀà
OracleËø»ù±¾ÉÏ¿ÉÒÔ·ÖΪ¶þÀà
a£º¹²ÏíËø£¨share locks£© Ò²³Æ¶ÁËø£¬sËø
b£ºÅÅËüËø (exclusive locks) Ò²³ÆÐ´Ëø£¬xËø
ÔÚÊý¾Ý¿âÖÐÓÐÁ½ÖÖ»ù±¾µÄËøÀàÐÍ£ºÅÅËüËø£¨Exclusive Locks£¬¼´XËø£©ºÍ¹²ÏíËø£¨Share Locks£¬¼´SËø£©¡£µ±Êý¾Ý¶ÔÏó±»¼ÓÉÏÅÅËüËøÊ±£¬ÆäËûµÄÊÂÎñ²»ÄܶÔËü¶ÁÈ¡ºÍÐ޸ġ£¼ÓÁ˹²ÏíËøµÄÊý¾Ý¶ÔÏó¿ÉÒÔ±»ÆäËûÊÂÎñ¶ÁÈ¡£¬µ«²»ÄÜÐ޸ġ£Êý¾Ý¿âÀûÓÃÕâÁ½ÖÖ»ù±¾µÄËøÀàÐÍÀ´¶ÔÊý¾Ý¿âµÄÊÂÎñ½øÐв¢·¢¿ØÖÆ¡£
°´Ëø±£»¤µÄÄÚÈÝ·ÖÀà
oracleÌṩ¶àÁ£¶È·âËø»úÖÆ£¬°´±£»¤¶ÔÏóÀ´·Ö£¬¾Ý´ËÓÖ¿ÉÒÔ·ÖΪ
a£ºdmlËø£¬ data locks Êý¾ÝËø£¬ÓÃÀ´± ......
ƽʱºÜÉÙÓÃSQL Server 2008£¬Å¼¶ûÓÃÒ»´Î£¬»¹ÕæÊÇÓöµ½ÁËһЩÎÊÌ⣬¼¸¾ÖÜÕÛ£¬´Ó¹ÙÍøÉϲÅÕÒµ½½â¾ö°ì·¨£º
ÎÊÌâÃèÊö£ºµÇ½ºó£¬µã»÷Êý¾Ý¿â£¬³öÏÖ·þÎñÆ÷Ö÷Ìå "xxxcom" ÎÞ·¨ÔÚµ±Ç°°²È«ÉÏÏÂÎÄÏ·ÃÎÊÊý¾Ý¿â "db_xxx_com"¡£
ÎÊÌâÔÒò£ºSQL Server 2008 bug
ÎÊÌâ½â¾ö°ì·¨£¨·ÇÔ´´£¬²Î¿¼¹ÙÍø£©£º
1¡¢ÓÃSQL Server Management StudioµÇ¼·þÎñÆ÷¡£
2¡¢ÔÚ¶ÔÏó×ÊÔ´¹ÜÀíÆ÷£¬µ¥»÷“Êý¾Ý¿â”Îļþ¼Ð¡£
3¡¢ÔÚ“¶ÔÏó×ÊÔ´¹ÜÀíÆ÷ÏêϸÐÅÏ¢”ÓÒ¼üµ¥»÷¸ÃÁбêÌ⣬Ȼºóµ¥»÷“ÖØÖÃÊÓͼ”¡£Èç¹û“¶ÔÏó×ÊÔ´¹ÜÀíÆ÷ÏêϸÐÅÏ¢”Ò³²»¿É¼û£¬µ¥»÷“ÊÓͼ”²Ëµ¥Éϵē¶ÔÏó×ÊÔ´¹ÜÀíÆ÷ÏêϸÐÅÏ¢”¡£
4¡¢“ÔÚ¶ÔÏó×ÊÔ´¹ÜÀíÆ÷”£¬ÓÒ¼üµ¥»÷“Êý¾Ý¿â”Îļþ¼Ð£¬È»ºóµ¥»÷“ˢД¡£
5¡¢µ¥»÷“Êý¾Ý¿â”Îļþ¼Ð¡£
6¡¢“¶ÔÏó×ÊÔ´¹ÜÀíÆ÷ÏêϸÐÅÏ¢”ÓÒ¼üµ¥»÷¸ÃÁбêÌ⣬Ȼºóµ¥»÷ÒÔÇå³ý“ÅÅÐò¹æÔò”¸´Ñ¡¿ò¡£
7¡¢“ÔÚ¶ÔÏó×ÊÔ´¹ÜÀíÆ÷”£¬ÓÒ¼üµ¥»÷“Êý¾Ý¿â”Îļþ¼Ð£¬È»ºóµ¥»÷“ˢД¡£
ÕâÑù¾ÍokÁË¡£
±¾ÈËÒѲâÊÔͨ¹ý¡£ ......
sqlÈý±íÁªºÏ²éѯ
a±í£º³Ùµ½¼Ç¼±í---------------------------------------------------------------------------------------------------------------------
ÐÕÃû Ö°¹¤±àºÅ ³Ùµ½ÈÕÆÚ¼Ç¼
ÕÅÈý 001 2009-6-1
Àî˹ 002 2009-6-2
ÕÅÈý &nbs ......
ÔÚDataContextÖÐÎÒÃÇ´ò½»µÀ×î¶àµÄÒ²Ðí¾ÍÊÇGetTable<TEntity>()·½·¨ÁË£¬Õâ¸ö·½·¨»á»ñȡһ¸öTable<TEntity>¶ÔÏ󣬽ñÌìÎÒÃǾÍÀ´¿´¿´Õâ¸ö¶ÔÏóÊÇÈçºÎ»ñÈ¡µÄ¡£
¡¡¡¡¶ÔÓÚ»ñÈ¡Table<TEntity>¶ÔÏóÎÒÃÇ»¹Òª¿´¿´Õâ¸öDataContextÊDz»ÊÇÇ¿ÀàÐ͵쬹ØÓÚÇ¿ÀàÐ͵ÄDataContext¿ÉÒÔ¿´ÎÒÇ°ÃæÒ»ÆªÎÄÕ£¬Ç¿ÀàÐ͵ÄDataContextÀï°üº¬Óм¸¸öTable<TEntity>ÀàÐ͵ÄÊôÐÔ£¬±ÈÈçÎÒÃǵĿâÖÐÓÐblogs¡¢postsµÈÊý¾Ý
¿â±í£¬ÄÇôÄã¿ÉÄܾͻὨÁ¢Table<Blog>ºÍTable<Post>ÀàÐ͵ÄÊôÐÔ£¨²Î¼ûÇ°ÃæÒ»ÆªÎÄÕ£©¡£ÔÚÉÏÒ»ÕÂDataContextµÄ³õʼ»¯Àï½²µ½Init·½·¨µÄ×îºóÒ»ÐÐÊÇInitTables·½·¨µÄµ÷Óá£ÎÒÃÇÊ×ÏÈÀ´¿´¿´InitTables·½·¨µÄ´úÂ룺
///<summary>
///³õʼ»¯Êý¾Ý¿âÖÐÓм¸¸ö±í
///´Ó·½·¨ÊµÏÖÖÐÒâͼÀ´¿´£¬Õâ¸ö·½·¨Ö÷ÒªÔÚ¶¨ÒåÁËÇ¿ÀàÐ͵ÄDataContext²ÅÓÐÒâÒå
///ÔÚÇ¿ÀàÐ͵ÄDataContextÀïÒ»°ã¶¨ÒåÁËTable<Post>Ö®ÀàµÄ×Ö¶ÎÀ´±íʾÊý¾Ý¿âÖÐÓм¸¸ö
///±í£¬¸Ã·½·¨µ÷ÓÃDataContextµÄGetTable·½·¨ÉèÖÃÕâЩ×ֶεÄÖµ
///</summary>
///<paramname="schema"></param>
private void InitTables(objectschema)
{
¡¡¡¡//Ó÷´Éä±éÀúDataContextÀࣨ¿ ......