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 SERVERµÄ·þÎñ
Á¬½Óºó ÔÚÊý¾Ý¿âÉÏÓÒ¼ü
Ñ¡Ôñ¸½¼Ó¡£¡£¡£
µã»÷ Ìí¼Ó¡£¡£¡£
ÔÚÌø³ö¿òÄÚÕÒµ½ÄãµÄMDFÎļþλÖà ѡÖÐ Ìí¼Ó½øÈ¥
ÏàͬÎļþ¼ÐÄÚµÄLDFÎļþ×Ô¶¯¼ÓÉÏ
Íê³É~~(*^__^*) ÎûÎû……
OKÀ² ºÇºÇ
³õѧ³õѧ~Ï£ÍûÒ²ÄܰﵽÆäËûÏñÎÒÒ»ÑùµÄ³õѧÕß
´ó¼ÒÒ»Æð¼ÓÓͰɣ¡O(∩_∩)O~ ......
¡¾ÑµÁ·6.1¡¿¡¡Ê¹ÓÃÒþʽÓαêµÄÊôÐÔ£¬Åж϶ԹÍÔ±¹¤×ʵÄÐÞ¸ÄÊÇ·ñ³É¹¦¡£
²½Öè1£ºÊäÈëºÍÔËÐÐÒÔϳÌÐò£º
BEGIN
UPDATE emp SET sal=sal+100 WHERE empno=1234;
IF SQL%FOUND THEN
DBMS_OUTPUT.PUT_LINE('³É¹¦Ð޸ĹÍÔ±¹¤×Ê£¡');
......
SQL Server ·ÖÒ³
½¨Á¢±í£º
CREATE TABLE [TestTable] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[FirstName] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[LastName] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[Country] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Note] [nvarchar ......