1. <wbr id="m8vu6"></wbr>

      <del id="m8vu6"><center id="m8vu6"><source id="m8vu6"></source></center></del>
        <p id="m8vu6"><sub id="m8vu6"></sub></p>

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

        • 2019-05-03 15:34 來源:未知

        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;
        相關教程
        免费看成年人视频大全_免费看成年人视频在线观看