国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

如何:創建和運行 CLR SQL Server 存儲過程

瀏覽:28日期:2023-11-07 10:02:22

如何:創建和運行 CLR SQL Server 存儲過程

通過將“存儲過程”項添加到 SQL Server 項目,可以創建 SQL 存儲過程。成功部署到 SQL Server 之后,可通過與任何其他存儲過程相同的方式調用和執行在托管代碼中創建的存儲過程。

注意; 在默認情況下,Microsoft SQL Server 中關閉了公共語言運行庫 (CLR) 集成功能。必須啟用該功能才能使用 SQL Server 項目項。若要啟用 CLR 集成,請使用 sp_configure 存儲過程的“啟用 clr”選項。有關更多信息,請參見啟用 CLR 集成。注意; 顯示的對話框和菜單命令可能會與幫助中的描述不同,具體取決于您現用的設置或版本。若要更改設置,請在“工具”菜單上選擇“導入和導出設置”。有關更多信息,請參見 Visual Studio 設置。

創建 SQL Server 存儲過程創建 SQL Server 存儲過程打開一個現有的“SQL Server 項目”,或者創建一個新項目。有關更多信息,請參見如何:創建 SQL Server 項目。

從“項目”菜單中選擇“添加新項”。

在“添加新項”對話框 中選擇“存儲過程”。

鍵入新存儲過程的“名稱”。

添加執行存儲過程時要運行的代碼。請參見下面的示例。

注意; C++ 示例在編譯時必須使用 /clr:safe 編譯器選項。

對于 Visual Basic 和 Visual C#,在“解決方案資源管理器”中,打開“TestScripts”文件夾,再雙擊“Test.sql”文件。

對于 Visual C++,在“解決方案資源管理器”中,打開“debug.sql”文件。

將代碼添加到“Test.sql”(Visual C++ 中為“debug.sql”)文件中以執行存儲過程。請參見下面的第二個示例。

按 F5 生成、部署并調試該存儲過程。有關不進行調試直接部署的信息,請參見如何:將 SQL Server 項目項部署到 SQL Server 中。

在“輸出”窗口中查看結果,然后選擇“從此處顯示輸出:數據庫輸出”。

示例下面的代碼示例創建一個存儲過程,向 Adventure Works 示例數據庫的 Currency 表中插入一條記錄。并在創建了該存儲過程之后,將其部署到 SQL Server。有關更多信息,請參見如何:將 SQL Server 項目項部署到 SQL Server 中。

Visual Basic 復制代碼Imports SystemImports System.DataImports System.Data.SqlClientImports System.Data.SqlTypesImports Microsoft.SqlServer.Server

Partial Public Class StoredProcedures

<SqlProcedure()> _ Public Shared Sub InsertCurrency( _ ByVal currencyCode As SqlString, ByVal name As SqlString)

Using conn As New SqlConnection('context connection=true')

Dim InsertCurrencyCommand As New SqlCommand() Dim currencyCodeParam As New SqlParameter('@CurrencyCode', SqlDbType.NVarChar) Dim nameParam As New SqlParameter('@Name', SqlDbType.NVarChar)

currencyCodeParam.Value = currencyCode nameParam.Value = name

InsertCurrencyCommand.CommandText = _ 'INSERT Sales.Currency (CurrencyCode, Name, ModifiedDate)' & _ ' VALUES(@CurrencyCode, @Name)'

InsertCurrencyCommand.Connection = conn

conn.Open() InsertCurrencyCommand.ExecuteNonQuery() conn.Close() End Using End SubEnd ClassC# 復制代碼using System;using System.Data;using System.Data.SqlClient;using System.Data.SqlTypes;using Microsoft.SqlServer.Server;

public partial class StoredProcedures{ [SqlProcedure()] public static void InsertCurrency_CS( SqlString currencyCode, SqlString name) { using (SqlConnection conn = new SqlConnection('context connection=true')) { SqlCommand InsertCurrencyCommand = new SqlCommand(); SqlParameter currencyCodeParam = new SqlParameter('@CurrencyCode', SqlDbType.NVarChar); SqlParameter nameParam = new SqlParameter('@Name', SqlDbType.NVarChar);

InsertCurrencyCommand.CommandText = 'INSERT Sales.Currency (CurrencyCode, Name, ModifiedDate)' + ' VALUES(@CurrencyCode, @Name)';

InsertCurrencyCommand.Connection = conn;

conn.Open(); InsertCurrencyCommand.ExecuteNonQuery(); conn.Close(); } }}C++ 復制代碼#include 'stdafx.h'

#using <System.dll>#using <System.Data.dll>#using <System.Xml.dll>

using namespace System;using namespace System::Data;using namespace System::Data::Sql;using namespace System::Data::SqlClient;using namespace System::Data::SqlTypes;using namespace Microsoft::SqlServer::Server;

// In order to debug your Stored Procedure, add the following to your debug.sql file://// EXEC InsertCurrency_CPP 'AAA', 'Currency Test'// SELECT * FROM Sales.Currency WHERE CurrencyCode = 'AAA'

public ref class StoredProcedures{public: [SqlProcedure] static void InsertCurrency_CPP(SqlString currencyCode, SqlString name) { SqlConnection ^conn = gcnew SqlConnection('context connection=true');

SqlCommand ^insertCurrencyCommand = gcnew SqlCommand(); SqlParameter ^currencyCodeParam = gcnew SqlParameter('@CurrencyCode', SqlDbType::NVarChar); SqlParameter ^nameParam = gcnew SqlParameter('@Name', SqlDbType::NVarChar);

insertCurrencyCommand->CommandText = 'insert Sales.Currency(CurrencyCode, Name, ModifiedDate)' + ' values(@CurrencyCode, @Name)'; insertCurrencyCommand->Connection = conn;

conn->Open(); insertCurrencyCommand->ExecuteNonQuery();

conn->Close(); }};

將用于執行和測試存儲過程的代碼添加到“Test.sql”(Visual C++ 中為“debug.sql”)文件中,該文件在項目的“TestScripts”文件夾中。例如,如果部署了一個存儲過程,則可以通過調用 EXEC <StoredProcedureName> 并傳入任何預期的參數來運行該過程。如果存儲過程沒有返回任何值,則請插入一段其他代碼以驗證存儲過程是否對數據產生影響。

復制代碼EXEC InsertCurrency 'AAA', 'Currency Test'SELECT * from Sales.Currency where CurrencyCode = 'AAA'

標簽: Sql Server 數據庫
主站蜘蛛池模板: 亚洲gogo人体大胆西西安徽 | 免费区一级欧美毛片 | 欧洲女同互慰在线视频 | 国产成人精品免费视频大全五级 | 亚洲久久网 | 久久久久久久国产高清 | 日本一区二区三区高清福利视频 | 97婷婷狠狠成人免费视频 | 日本高清色视频www 日本高清在线精品一区二区三区 | 亚洲国产精品一区二区三区在线观看 | 国产在线不卡免费播放 | 日韩在线视频不卡一区二区三区 | 国产成人午夜极速观看 | 国产精品亚洲午夜不卡 | 国产成人精品综合久久久 | 99在线精品视频在线观看 | 萌白酱喷水福利视频在线 | 亚洲精品中文字幕字幕 | 国产成人精品高清免费 | 国产younv真实| 亚洲毛片视频 | 2021精品国产品免费观看 | 成人在线观看午夜 | 亚洲毛片在线观看 | 老王午夜69精品影院 | 手机在线观看一级午夜片 | 成人欧美精品大91在线 | 国产一级做a爱片久久毛片a | 久久九九爱 | 网友自拍第一页 | 国产91精品一区二区 | 国产大秀视频 | 免费国产a国产片高清不卡 免费国产不卡午夜福在线 免费国产不卡午夜福在线观看 | www.av日韩| 手机在线播放视频 | 国产精品理论 | 国产a级精品特黄毛片 | 日韩欧美视频一区二区 | 成人国产在线视频 | 亚洲美女精品视频 | 美女被免费网站视频软件 |