运用了SQL CLR存储过程很长时间了,有一点点的小积累,在这里和大家分享一下,看看对大家有没有帮助。在一个新的 SQL Server 项目中,建立一个到 AdventureWorks 示例数据库的连接。有关更多信息,请参见如何:连接到数据库。使用下面第一个示例部分中的代码创建一个新的存储过程,并将其命名为“InsertCurrency.cs”。有关更多信息,请参见如何:使用 SQL Server 项目类型进行开发。添加一个通过调用SQL CLR存储过程来测试它的脚本。在“解决方案资源管理器”中,右击“TestScripts”目录,单击“添加测试脚本”,然后插入下面的第二个示例部分中的代码。以名称“InsertCurrency.sql”保存文件。右击该文件名,然后单击“设置为默认调试脚本”。
成都创新互联是一家集网站建设,拜城企业网站建设,拜城品牌网站建设,网站定制,拜城网站建设报价,网络营销,网络优化,拜城网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
在 InsertCurrency.cs 中设置断点,然后在“调试”菜单上单击“启动”以对该项目进行编译、部署和单元测试。以黄色箭头表示的说明性指针在断点上显示时,说明正在调试存储过程。
尝试不同的调试功能。打开“局部变量”窗口,并在“调试”菜单上单击“单步执行”以单步执行存储过程中的一行。注意,“局部变量”窗口中的变量 @mynvarchar 的值已经更改,并且它的值现在显示为红色,表示它已经更改。有关更多信息,请参见 使用“局部变量”窗口。
注意
1.服务器可能不会反映在调试器窗口中对变量值的更改。有关更多信息,请参见 SQL 调试限制。
2.打开“监视”窗口。在“文本编辑器”中,拖动 InsertCurrencyCommand 变量到“监视”窗口中的任意位置。
3.该变量随即添加到受监视的变量列表中。有关更多信息,请参见如何:使用调试器变量窗口。
注意也可以在“监视”窗口中编辑变量的值。在文本编辑器中,右击 InsertCurrencyCommand.ExecuteNonQuery 行并在快捷菜单上单击“插入断点”。在“调试”菜单中单击“继续”,调试器将运行代码直到新的断点。再次单击“继续”完成对存储过程的调试。“输出”窗口会显示一条消息,表明已成功部署存储过程,并会显示执行 InsertCurrency.sql 文件中的命令的结果。示例用此代码替换存储过程模板。
SQL CLR存储过程代码
- using System;
- using System.Data;
- using System.Data.Sql;
- using System.Data.SqlServer;
- using System.Data.SqlTypes;
- public partial class StoredProcedures
- {
- [SqlProcedure]
- public static void InsertCurrency(SqlString currencyCode,
- SqlString name)
- {
- using(SqlConnection conn = new SqlConnection("context connection=true")) {
- SqlCommand cmd = new SqlCommand([your SQL statement], conn);
- }
- InsertCurrencyCommand.CommandText = "insert Sales.Currency"
- + " (CurrencyCode, Name, ModifiedDate) values('"
- + currencyCode.ToString() + "', '"
- + name.ToString() + "', '"
- + DateTime.Now.ToString() + "')";
- InsertCurrencyCommand.ExecuteNonQuery();
- }
- }这是用于执行存储过程的测试脚本。
- 复制代码
- - Delete any row that might exist with a key value
- - that matches the one we are going to insert
- DELETE Sales.Currency
- WHERE CurrencyCode = 'eee'
- EXEC InsertCurrency 'eee', 'MyCurr4'
- SELECT * FROM Sales.Currency WHERE CurrencyCode = 'eee'
【编辑推荐】
网站栏目:教你如何调试SQLCLR存储过程
分享地址:http://www.shufengxianlan.com/qtweb/news11/483061.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联