2011-03-17 78 views
1

如何在SQLCLR中使用C#编写存储过程?SQL中的存储过程CLR

目前我正在使用SQL Server Management Studio,并使用T-SQL编写存储过程,如create proc sp_item as ....

+0

对不起,我没有让你。你可以再详细一点吗。据我所知,你可以参考LINQ - http://msdn.microsoft.com/en-us/library/bb308959.aspx – 2011-03-17 08:54:27

+0

似乎是一个足够明确的问题给我。这本身很可能与LINQ无关。 – 2011-03-17 09:08:35

回答

9

参见:

基本上有Visual Studio的模板,让你开始使用SQL CLR项目。填入空格,编写实际的代码,甚至可以直接从Visual Studio中将这些CLR程序集部署到SQL Server中。

一句话要小心:我不会在基于集合的更新中插入类似于SQL CLR存储过程的东西 - 为此,T-SQL存储过程只是更好更快。

SQL-CLR非常适合扩展 SQL Server具有诸如字符串操作,日期处理,呼叫的能力网络服务或其他东西。我建议针对尝试用C#SQL CLR存储特效代替所有T-SQL存储特效仅仅因为您可以仅仅因为它很酷 - 使用合适的工具来完成正确的工作!集合上的批量操作更适合T-SQL。

1

除了由Marc所提供的链接,我也写了书面SQLCLR表值函数一个简短的教程(仅供参考,免费注册,查看SQL Server的中央文章必填项):

CLR Table-Valued Function Example with Full Streaming (STVF/TVF)

我也一直在写了一系列文章,对一般用SQLCLR工作:

Stairway to SQLCLR


另外,您不应该使用sp_作为存储过程名称中的前缀。这是一种特殊的语法,它会导致SQL Server首先检查master然后中的存储过程,如果在那里未找到该存储过程,它将搜索当前数据库,从而降低性能。