×ö¿ª·¢µÄÈ˶¼ÖªµÀ´úÂëµ÷ÊÔÊÇ×îÍ´¿àµÄÒ»¼þÊÂÇ飬ÓÐʱһ¸öССµÄ´íÎó¾Í»áÈÃÎÒÃÇ»¨·ÑÉÏÒ»ÌìµÄʱ¼ä£¬ÔÚVisual StudioÓÐSQL Server CLR´úÂëµ÷ÊԵŦÄÜ¿ÉÒÔÈÃÎÒÃÇ×Ô¼ºÊ¡È¥µ÷ÊÔµÄʱ¼ä£¬ÈÃÎÒÃÇ¿ìÀ´¿´¿´°É¡£
ÔÚVisual StudioÖпª·¢SQL Server CLR´úÂëµÄºÃ´¦ÔÚÓÚ£¬¿ÉÒÔ³ä·ÖÀûÓõ÷ÊÔ·½ÃæµÄ¹¤¾ß¡£ÎÒÃÇÔÚ¿ª·¢ÆÕͨµÄ.net´úÂëʱ£¬¶Ô²ÉÓÃVisual StudioÖеĵ÷ÊÔÆ÷½øÐе¥²½µ÷ÊÔÒѾÊÇÇá³µÊì·;ÔÚ±àдSQL ServerµÄCLR´úÂëʱ£¬ÓÖÈçºÎʹÓÃVisual Studio½øÐе÷ÊÔÄØ?½ÓÏÂÀ´±¾ÎĽ«½éÉÜÈýÖÖµ÷ÊԵķ½·¨¡£
ΪÁ˸üºÃµØ½øÐÐSQL Server CLR´úÂëµ÷ÊÔ£¬ÄúÐèҪʹÓÃVisual Studioרҵ»òÍŶӰ档ϱíÁгöÁË¿ÉÒÔʹÓõ÷ÊÔÆ÷µÄVisual StudioµÄ°æ±¾¼°¿ª·¢ÓïÑÔ£¬Èçͼ1Ëùʾ£º
³ýÁËÕýÈ·µÄVisual Studio°æ±¾ºÍ¿ÉÖ§³ÖµÄÓïÑÔÖ®Í⣬»¹ÐèҪȷ±£SQL ServerÖÐÒѾÆôÓÃÁË“CLR¼¯³É”¡£¿ÉÒÔÔÚSQL ServerÍâΧӦÓÃÅäÖÃÆ÷ÖнøÐÐÉèÖá£ÐèÒªÌØ±ð×¢ÒâµÄÊÇ£ºCLRµ÷ÊÔʱ½«µ¼ÖÂÆäËûËùÓÐÏß³ÌÍ£Ö¹£¬Òò´Ë¾ö²»ÄÜÔÚÉú²ú·þÎñÆ÷³¢ÊÔµ÷ÊÔCLR¡£Ò»µ©ÔÚVisual StudioµÄ“·þÎñÆ÷×ÊÔ´¹ÜÀíÆ÷”ÖеÄÊý¾ÝÁ¬½Ó(Èçͼ2Ëùʾ)ÉèÖÃÁËÔÊÐíµ÷ÊÔ£¬ÄÇôÔÚVisual StudioµÄ“²é¿´”²Ëµ¥ÏîÖоͶàÁËÏî“·þÎñÆ÷×ÊÔ´¹ÜÀíÆ÷”¡£Í¼2 ......
'ÔÚÒýÓÃÀïÌí¼ÓADODB
Public vscn As ADODB.Connection
Public SQLString As String
SQLString = "Provider=SQLOLEDB.1;Password=ÃÜÂë;Persist Security Info=True;User ID=ÓÃ" & _
"»§;Initial Catalog=Êý¾Ý¿âÃû;Data Source=·þÎñÆ÷Ãû"
vscn = New ADODB.Connection
With vscn
.Mode = ADODB.ConnectModeEnum.adModeReadWrite
.CursorLocation = ADODB.CursorLocationEnum.adUseClient
.ConnectionString = SQLString
.ConnectionTimeout = 60
.Open()
End Wi ......
'ÔÚÒýÓÃÀïÌí¼ÓADODB
Public vscn As ADODB.Connection
Public SQLString As String
SQLString = "Provider=SQLOLEDB.1;Password=ÃÜÂë;Persist Security Info=True;User ID=ÓÃ" & _
"»§;Initial Catalog=Êý¾Ý¿âÃû;Data Source=·þÎñÆ÷Ãû"
vscn = New ADODB.Connection
With vscn
.Mode = ADODB.ConnectModeEnum.adModeReadWrite
.CursorLocation = ADODB.CursorLocationEnum.adUseClient
.ConnectionString = SQLString
.ConnectionTimeout = 60
.Open()
End Wi ......
sql serverµÄËæ»úº¯ÊýnewID()ºÍRAND()¡¡¡¡
¡¡¡¡SELECT * from Northwind..Orders ORDER BY NEWID()
¡¡¡¡--Ëæ»úÅÅÐò
¡¡¡¡SELECT TOP 10 * from Northwind..Orders ORDER BY NEWID()
¡¡¡¡--´ÓOrders±íÖÐËæ»úÈ¡³ö10Ìõ¼Ç¼¡¡¡¡
¡¡¡¡Ê¾Àý¡¡¡¡
¡¡¡¡A.¶Ô±äÁ¿Ê¹Óà NEWID º¯Êý
¡¡¡¡ÒÔÏÂʾÀýʹÓà NEWID() ¶ÔÉùÃ÷Ϊ uniqueidentifier Êý¾ÝÀàÐ͵ıäÁ¿¸³Öµ¡£ÔÚ²âÊÔ uniqueidentifier Êý¾ÝÀàÐͱäÁ¿µÄֵ֮ǰ£¬ÏÈÊä³ö¸ÃÖµ¡£
¡¡¡¡-- Creating a local variable with DECLARESET syntax.
¡¡¡¡DECLARE @myid uniqueidentifier
¡¡¡¡SET @myid = NEWID()
¡¡¡¡PRINT 'Value of @myid is '+ CONVERT(varchar(255), @myid)
¡¡¡¡ÏÂÃæÊǽá¹û¼¯£º
¡¡¡¡Value of @myid is 6F9619FF-8B86-D011-B42D-00C04FC964FF
¡¡¡¡×¢Ò⣺
¡¡¡¡NEWID ¶Ôÿ̨¼ÆËã»ú·µ»ØµÄÖµ¸÷²»Ïàͬ¡£ËùÏÔʾµÄÊý×Ö½öÆð½âÊÍ˵Ã÷µÄ×÷Óᣡ¡¡¡
¡¡¡¡Ëæ»úº¯Êý£ºrand()
¡¡¡¡ÔÚ²éѯ·ÖÎöÆ÷ÖÐÖ´ÐУºselect rand()£¬¿ÉÒÔ¿´µ½½á¹û»áÊÇÀàËÆÓÚÕâÑùµÄËæ»úСÊý£º0.36361513486289558£¬ÏñÕâÑùµÄСÊýÔÚʵ¼ÊÓ¦ÓÃÖÐÓõò»¶à£¬Ò»°ãÒªÈ¡Ëæ»úÊý¶¼»áÈ¡Ëæ»úÕûÊý¡£ÄǾͿ´ÏÂÃæµÄÁ½ÖÖËæ»úÈ¡ÕûÊýµÄ·½·¨£º ¡¡¡¡
¡¡¡¡1¡¢
¡¡¡¡A£ºsel ......
Dim rs As ADODB.Recordset
Dim sqlstr As String
'²éѯ
sqlstr = "select * from ±íÃû where ×Ö¶ÎÃû = '" & ²éѯµÄÄÚÈÝ & "'"
rs = VScn.Execute("" & SqlStr & "")
If Not rs.EOF Then
TextBox1.Text = rs("×Ö¶ÎÃû").Value.ToString
End If
'ÐÞ¸Ä
sqlstr = "update ±íÃû set ×Ö¶ÎÃû= '" & ÒªÐ޸ĵÄÄÚÈÝ & "' where ×Ö¶ÎÃû= '" & ²éѯµÄÄÚÈÝ & "'"
VScn.Execute(sqlstr)
'ɾ³ý
sqlstr = "delete from ±íÃû where ×Ö¶ÎÃû= '" & ²éѯµÄÄÚÈÝ & "'"
......
Dim rs As ADODB.Recordset
Dim sqlstr As String
'²éѯ
sqlstr = "select * from ±íÃû where ×Ö¶ÎÃû = '" & ²éѯµÄÄÚÈÝ & "'"
rs = VScn.Execute("" & SqlStr & "")
If Not rs.EOF Then
TextBox1.Text = rs("×Ö¶ÎÃû").Value.ToString
End If
'ÐÞ¸Ä
sqlstr = "update ±íÃû set ×Ö¶ÎÃû= '" & ÒªÐ޸ĵÄÄÚÈÝ & "' where ×Ö¶ÎÃû= '" & ²éѯµÄÄÚÈÝ & "'"
VScn.Execute(sqlstr)
'ɾ³ý
sqlstr = "delete from ±íÃû where ×Ö¶ÎÃû= '" & ²éѯµÄÄÚÈÝ & "'"
......
localhost...²»ÄÜ´ò¿ªµ½Ö÷»úµÄÁ¬½Ó£¬ÔÚ¶Ë¿Ú 1433: Á¬½Óʧ°Ü
Æô¶¯tcp/ipÁ¬½ÓµÄ·½·¨£º
´ò¿ª
\Microsoft SQL Server 2005\ÅäÖù¤¾ß\Ŀ¼ÏµÄSQL Server Configuration
Manager£¬Ñ¡ÔñmssqlserverÐÒé,
È»ºóÓұߴ°¿ÚÓиötcp/ipÐÒ飬ÉèÖÃip/allĬÈ϶˿ÚΪ1433£¬È»ºóÆô¶¯Ëü£¬ÖØÆôsqlserver·þÎñ¡£
ÎÊÌâ½â¾ö
ÕâʱÔÚÃüÁîÐÐÊäÈ룺telnet localhost 1433¾Í²»»áÔÙ±¨´íÁË£¬´°¿ÚÏÔʾΪһƬºÚ£¬¼´ÎªÕý³£ ......
SQLÓï¾äÖеÄÈý¸ö¹Ø¼ü×Ö:MINUS(¼õÈ¥),INTERSECT(½»¼¯)ºÍUNION ALL(²¢¼¯);
¹ØÓÚ¼¯ºÏµÄ¸ÅÄî,ÖÐѧ¶¼Ó¦¸Ãѧ¹ý,¾Í²»¶à˵ÁË.ÕâÈý¸ö¹Ø¼ü×ÖÖ÷ÒªÊǶÔÊý¾Ý¿âµÄ²éѯ½á¹û½øÐвÙ×÷,ÕýÈçÆäÖÐÎĺ¬ÒåÒ»Ñù:Á½¸ö²éѯ,MINUSÊÇ´ÓµÚÒ»¸ö²éѯ½á¹û¼õÈ¥µÚ¶þ¸ö²éѯ½á¹û,Èç¹ûÓÐÏཻ²¿·Ö¾Í¼õÈ¥Ïཻ²¿·Ö;·ñÔòºÍµÚÒ»¸ö²éѯ½á¹ûûÓÐÇø±ð. INTERSECTÊÇÁ½¸ö²éѯ½á¹ûµÄ½»¼¯,UNION ALLÊÇÁ½¸ö²éѯµÄ²¢¼¯;
ËäȻͬÑùµÄ¹¦ÄÜ¿ÉÒÔÓüòµ¥SQLÓï¾äÀ´ÊµÏÖ,µ«ÊÇÐÔÄܲî±ð·Ç³£´ó,ÓÐÈË×ö¹ýʵÑé:made_order¹²23Íò±Ê¼Ç¼£¬charge_detail¹²17Íò±Ê¼Ç¼:
SELECT order_id from made_order
¡¡¡¡MINUS
¡¡¡¡SELECT order_id from charge_detail
ºÄʱ:1.14 sec
¡¡¡¡
¡¡¡¡SELECT a.order_id from made_order a
¡¡¡¡ WHERE a.order_id NOT exists (
¡¡¡¡ SELECT order_id
¡¡¡¡ from charge_detail
¡¡¡¡ WHERE order_id = a.order_id
¡¡¡¡ )
ºÄʱ:18.19 sec
ÐÔÄÜÏà²î15.956±¶!Òò´ËÔÚÓöµ½ÕâÖÖÎÊÌâµÄʱºò,»¹ÊÇÓÃMINUS,INTERSECTºÍUNION ALLÀ´½â¾öÎÊÌâ,·ñÔòÃæ¶ÔÒµÎñÖÐËæ´¦¿É¼ûµÄÉϰÙÍòÊý¾ÝÁ¿µÄ²éѯ,Êý¾Ý¿â·þÎñÆ÷»¹²»±»ÔÛÍæµÄËÀÇÌÇÌ?
PS:Ó¦ÓÃÁ½¸ö¼¯ºÏµÄÏà¼õ,Ïཻº ......