根据我在 Internet 上找到的示例,我编写了以下 C# 代码,用于在 MS SQL Server 2008 中实现 CLR 存储过程:
public class Class1
{
[Microsoft.SqlServer.Server.SqlProcedure]
public static void CountStringLength(string inputString)
{
SqlContext.Pipe.Send(inputString.Length.ToString());
}
}
此过程将字符串作为参数并输出字符串中的字符数。
我一直在编写一些从 SQL 中检索数据的代码;检索数据的方式没有什么特别之处:它与 SQL 服务器建立连接,选择数据,然后关闭连接。我想让这段代码在我的 SQL 服务器上的存储过程或触发器中运行。
我想我可以使代码运行与现有 SQL 代码完全相同:连接到 SQL 服务器,选择数据,然后关闭连接。但是,一旦代码在 SQL 服务器本身上运行,这就没有意义了!为什么我希望在 SQL 服务器上运行的代码使服务器连接到自身?!?!
我正在尝试做的事情有最佳实践吗?我可以使用用于执行存储过程的相同连接在我的代码中选择行吗?