SQL Server 2008ÖеıíÖµÐͲÎÊý
SQL Server 2008ÖеıíÖµÐͲÎÊý
×÷ÕߣºAl Tenhundfeld ÒëÕß Õź£Áú¡¡
±íÖµÐͲÎÊý£¨Table-valued parameters£©ÊÇSQL Server 2008ÖÐÒýÈëµÄÒ»ÖÖÐÂÌØÐÔ£¬ËüÌṩÁËÒ»ÖÖÄÚÖõķ½Ê½£¬Èÿͻ§¶ËÓ¦ÓÿÉÒÔֻͨ¹ýµ¥¶ÀµÄÒ»Ìõ²Î»¯ÊýSQLÓï¾ä£¬¾Í¿ÉÒÔÏòSQL Server·¢ËͶàÐÐÊý¾Ý¡£
±íÖµÐͲÎÊý£¨Table-valued parameters£©ÊÇSQL Server 2008ÖÐÒýÈëµÄÒ»ÖÖÐÂÌØÐÔ£¬ËüÌṩÁËÒ»ÖÖÄÚÖõķ½Ê½£¬Èÿͻ§¶ËÓ¦ÓÿÉÒÔֻͨ¹ýµ¥¶ÀµÄÒ»Ìõ²Î»¯ÊýSQLÓï¾ä£¬¾Í¿ÉÒÔÏòSQL Server·¢ËͶàÐÐÊý¾Ý¡£
ÕâÒ»¹¦ÄܵĻù´¡ÊÇSQL Server 2008ÖÐ×îеÄÓû§×Ô¶¨Òå±íÀàÐÍ£¨User-Defined Table Types£©£¬ËüÔÊÐíÓû§½«±íµÄ¶¨Òå×¢²áΪȫ¾ÖÖÜÖªÀàÐÍ¡£×¢²áÖ®ºó£¬ÕâЩ±íÀàÐÍ¿ÉÒÔÏñ±¾µØ±äÁ¿Ò»ÑùÓÃÓÚÅú´¦ÀíÖС¢ÒÔ¼°´æ´¢¹ý³ÌµÄº¯ÊýÌåÖУ¬ºÜÏñÔçÆÚSQL Server°æ±¾ÖÐͨÓñí±äÁ¿µÄÇ¿ÀàÐÍ»¯°æ±¾¡£µ«ÊÇ£¬ÓëͨÓñí±äÁ¿ÓÐËù²»Í¬µÄÊÇ£¬Óû§×Ô¶¨Òå±íÀàÐ͵ıäÁ¿¿ÉÒÔ×÷Ϊ²ÎÊýÔÚ´æ´¢¹ý³ÌºÍ²ÎÊý»¯TSQLÖÐʹÓá£
Óû§×Ô¶¨Òå±íÀàÐ͵ÄʹÓÃÓÐÐí¶àÏÞÖÆ£º
Ò»¸öÓû§×Ô¶¨Òå±íÀàÐͲ»ÔÊÐíÓÃÀ´¶¨Òå±íµÄÁÐÀàÐÍ£¬Ò²²»ÄÜÓÃÀ´¶¨ÒåÒ»¸öÓû§×Ô¶¨Òå½á¹¹ÀàÐ͵Ä×ֶΡ£
²»ÔÊÐíÔÚÒ»¸öÓû§×Ô¶¨Òå±íÀàÐÍÉÏ´´½¨Ò»¸ö·Ç¾ÛºÏË÷Òý£¬³ý·ÇÕâ¸öË÷ÒýÊÇ»ùÓÚ´ËÓû§×Ô¶¨Òå±íÀàÐÍ´´½¨µÄÖ÷¼ü»òÎ¨Ò»Ô¼Êø¡£
ÔÚÓû§×Ô¶¨Òå±íÀàÐ͵͍ÒåÖУ¬²»ÄÜÖ¸¶¨È±Ê¡Öµ¡£
Ò»µ©´´½¨ºó£¬¾Í²»ÔÊÐíÔÙ¶ÔÓû§×Ô¶¨Òå±íÀàÐ͵͍Òå½øÐÐÐ޸ġ£
Óû§×Ô¶¨Ò庯Êý²»ÄÜÒÔÓû§¶¨Òå±íÀàÐÍÖеļÆËãÁж¨ÒåΪ²ÎÊýÀ´µ÷Óá£
Ò»¸öÓû§×Ô¶¨Òå±íÀàÐͲ»ÔÊÐí×÷Ϊ±íÖµÐͲÎÊýÀ´µ÷ÓÃÓû§×Ô¶¨Ò庯Êý¡£
µ±Óû§×Ô¶¨Òå±íÀàÐÍ×÷Ϊ±íÖµÐͲÎÊýʱ£¬»¹Óиü¶àÏÞÖÆ£¬ÀýÈ磬ÔÚ²ÎÊý»¯Óï¾ä»ò´æ´¢¹ý³ÌÖУ¬ËüÃÇÊÇÖ»¶ÁµÄ£º
²»ÔÊÐí¸üжàÐбíÖµÐͲÎÊýÖеÄÁÐÖµ£¬Ò²²»ÔÊÐí²åÈë»òɾ³ýÐС£Èç¹ûÏëÒªÐÞ¸ÄÄÇЩÒѾ´«Èëµ½´æ´¢¹ý³Ì»ò²ÎÊý»¯Óï¾äÖеıíÖµÐͲÎÊýÖеÄÊý¾Ý£¬Ö»ÄÜͨ¹ýÏòÁÙʱ±í»ò±í±äÁ¿ÖвåÈëÊý¾ÝÀ´ÊµÏÖ¡£
ÔÚADO.NETÖУ¬¿ÉÒÔÀûÓñê×¼µÄSqlParameterÀàÐÍÀ´Ê¹ÓÃÓû§×Ô¶¨Òå±íÀàÐÍ£º
TypeName²ÎÊý±ØÐëÉèÖÃΪÓû§×Ô¶¨Òå±íÀàÐ͵ÄÃû³Æ£¬ÀýÈ磺dbo.PersonInfo
SqlDbType±ØÐëÉèÖÃΪSqldbType.Structured
Value²ÎÊýµÄÀàÐÍÊý¾Ý±ØÐëÓ
Ïà¹ØÎĵµ£º
×òÌìÎÒ˵£¬ÓÃ×éºÏË÷ÒýÓÅ»¯SQL£¬²¢²»ÊÇ×îÓŵģ¬ÕâÊÇÒòΪÔÚ8ÒڵıíÉÏÃæÓиöµÈ¼ÛµÄÎﻯÊÓͼ£¬Õâ¸öÎﻯÊÓͼ¿ÉÒÔ´úÌæÎÒÔÚ֮ǰÔÚ±íÉÏÃæ½¨Á¢µÄ×éºÏË÷Òý¡£
SQL> explain plan for SELECT distinct * from (select
2 (PROD_9005_GDF_WK_SS_FDIM.PROD_4_NAME),
3 PROD_9005_GDF_WK ......
1.Ôø¾²»Ð¡Ðİѿª·¢¿âµÄÊý¾Ý¿â±íÈ«²¿É¾³ý£¬µ±Ê±ÏŵÄÒªËÀ¡£½á¹ûÕÒµ½ÏÂÃæµÄÓï¾ä»Ö¸´µ½ÁË1¸öСʱ֮ǰµÄÊý¾Ý£¡ºÜ¼òµ¥¡£
×¢ÒâʹÓùÜÀíÔ±µÇ¼ϵͳ£º
select * from ±íÃû as of timestamp sysdate-1/12 //²éѯÁ½¸öСʱǰµÄij±íÊý¾Ý£¡¼ÈÈ»Á½Ð¡Ê±ÒÔǰµÄÊý¾Ý¶¼µÃµ½ÁË£¬¼ÌÐøÔõô×ö£¬ÖªµÀÁ˰ɡ£¡£
Èç¹ûdropÁË±í£¬Ôõô°ì£¿£¿¼ûÏ ......
Ö´ÐÐ Êý¾Ý¿â²éѯʱ£¬ÓÐÍêÕû²éѯºÍÄ£ºý²éѯ֮·Ö¡£
Ò»°ãÄ£ºýÓï¾äÈçÏ£º
SELECT ×Ö¶Î from ±í WHERE ij×Ö¶Î Like Ìõ¼þ
ÆäÖйØÓÚÌõ¼þ£¬SQLÌṩÁËËÄÖÖÆ¥Åäģʽ£º
1£¬%£º±íʾÈÎÒâ0¸ö»ò¶à¸ö×Ö·û¡£¿ÉÆ¥ÅäÈÎÒâÀàÐͺͳ¤¶ÈµÄ×Ö·û£¬ÓÐЩÇé¿öÏÂÈôÊÇÖÐÎÄ£¬ÇëÔËÓÃÁ½¸ö°Ù·ÖºÅ£¨%%£©±íʾ¡£
±ÈÈç SELECT * from [user] WHERE u_na ......
¡¾Ê¾Àý1.1¡¿ ²éѯ¹ÍÔ±±àºÅΪ7788µÄ¹ÍÔ±ÐÕÃûºÍ¹¤×Ê¡£
²½Öè1£ºÓÃSCOTT/TIGERÕË»§µÇ¼SQL*Plus¡£
²½Öè2£ºÔÚÊäÈëÇøÊäÈëÒÔϳÌÐò£º
/*ÕâÊÇÒ»¸ö¼òµ¥µÄʾÀý³ÌÐò*/
SET SERVEROUTPUT ON
DECLARE--¶¨Ò岿·Ö±êʶ
v_name VARCHAR2 ......
´æ´¢¹ý³Ì
==========================================================================
==========================================================================
¡¾ÑµÁ·15.1¡¿ ´´½¨Ò»¸öÏÔʾ¹ÍÔ±×ÜÈËÊýµÄ´æ´¢¹ý³Ì¡£
²½Öè1£ºµÇ¼SCOTTÕË»§(»òѧÉú¸öÈËÕË»§)¡£
²½Öè2£º ......