<rp id="wnpn7"><ruby id="wnpn7"></ruby></rp>
<progress id="wnpn7"><track id="wnpn7"><rt id="wnpn7"></rt></track></progress>
<ruby id="wnpn7"></ruby>
<ruby id="wnpn7"><blockquote id="wnpn7"><div id="wnpn7"></div></blockquote></ruby>

    1. <em id="wnpn7"><ruby id="wnpn7"><input id="wnpn7"></input></ruby></em>
      1. <button id="wnpn7"><acronym id="wnpn7"></acronym></button><button id="wnpn7"><acronym id="wnpn7"></acronym></button>

        <rp id="wnpn7"><acronym id="wnpn7"></acronym></rp>

        <li id="wnpn7"><object id="wnpn7"><u id="wnpn7"></u></object></li>
        VB.net 2010 視頻教程 VB.net 2010 視頻教程 python基礎視頻教程
        SQL Server 2008 視頻教程 c#入門經典教程 Visual Basic從門到精通視頻教程
        當前位置:
        首頁 > 數據庫 > T-SQL >
        • sql語句大全之MSSQL SQl server 2008 CLR 存儲過程創建舉

        本站最新發布    SQL Server 2016數據庫視頻教程
        試聽地址  
        http://www.squ68.com/eschool/SQLxin3721/

        sql存儲過程功能:向客戶端返回表格信息(select ***)和消息(print),向變量返回值(return);
        sql存儲過程是由-數據定義語言和數據操作語言組成的一組SQL;
        CLR存儲過程:采用.net framework開發的MSSQL存儲過程;
        CLR存儲過程:可完成sql存儲過程所有功能,及調用系統API完成一些特殊功能。



        例一: 創建帶輸出參數的clr存儲過程

        using System;  
        using System.Data.SqlTypes;  
        using System.Data.SqlClient;  
        using Microsoft.SqlServer.Server;   
          
        public class StoredProcedures   
        {  
           //求產品之和
           [Microsoft.SqlServer.Server.SqlProcedure]  
           public static void ParOutTest(out SqlInt32 value)  
           {  
              using(SqlConnection connection = new SqlConnection("context connection=true"))   
              {  
                 value = 0;  
                 connection.Open();  
                 SqlCommand command = new SqlCommand("SELECT qty FROM listInfo", connection);  
                 SqlDataReader reader = command.ExecuteReader();  
          
                 using (reader)  
                 {  
                    while( reader.Read() )  
                    {  
                       value += reader.GetSqlInt32(0);  
                    }  
                 }           
              }  
           }  
        }  
        

        注冊程序集
        CREATE ASSEMBLY [dll名稱] FROM ‘C:\*****.dll’;

         


        創建存儲過程
        CREATE PROCEDURE pr_testOutCanShu(@qtyAll int output)
        AS EXTERNAL NAME [命名空間名稱].StoredProcedures.ParOutTest;

         


        執行存儲過程
        declare @t int
        EXEC pr_testOutCanShu @t output;

         



        例二: 創建返回消息的clr存儲過程
        clr存儲過程中,通過SqlPipe.Send(String)想客戶端發送文本消息

         

        using System;  
        using System.Data;  
        using System.Data.SqlTypes;  
        using System.Data.SqlClient;  
        using Microsoft.SqlServer.Server; 
        public class StoredProcedures   
        {  
           ///   
           /// Execute a command and send the results to the client directly.  
           ///   
           [Microsoft.SqlServer.Server.SqlProcedure]  
           public static void PrintInfoToClient()  
           {  
           using(SqlConnection connection = new SqlConnection("context connection=true"))   
           {  
              connection.Open();  
              SqlCommand command = new SqlCommand("select @@version", connection);  
              SqlContext.Pipe.ExecuteAndSend(command);  
              }  
           }  
        }
        

        注冊程序集
        CREATE ASSEMBLY [dll名稱] FROM ‘C:\*****.dll’;

         


        創建存儲過程
        CREATE PROCEDURE pr_testPrintInfo()
        AS EXTERNAL NAME [命名空間名稱].StoredProcedures.PrintInfoToClient;

         


        執行存儲過程
        EXEC pr_testPrintInfo;
        相關教程
                
        免费看成年人视频大全_免费看成年人视频在线观看