Bur*_*urg 5 c# sql sql-server stored-procedures sqlclr
如何将sql_variant参数添加到SQL CLR存储过程?使用System.Object不起作用,我没有看到任何可以使用的属性.
[Microsoft.SqlServer.Server.SqlProcedure]
public static void ClearOnePartition(
SqlString aString
, /* I want this to be a sql_variant */ object aVariant
)
{
//do stuff here
}
Run Code Online (Sandbox Code Playgroud)
在从 SQL 联机丛书映射 CLR 参数数据中, Object被列为用于映射sql_variant 的正确类型。
我创建了一个简单的 SQL Server 项目并向其中添加了以下类:
public partial class StoredProcedures
{
[Microsoft.SqlServer.Server.SqlProcedure]
public static void StoredProcedure1(object param1)
{
// Put your code here
//Trace.Write(param1);
SqlContext.Pipe.Send(param1.ToString());
}
};
Run Code Online (Sandbox Code Playgroud)
然后我修改了 test.sql 文件来执行这个存储过程:
DECLARE @thing sql_variant = 'hahahahaha';
EXEC dbo.StoredProcedure1 @thing
Run Code Online (Sandbox Code Playgroud)
这将按预期运行并产生以下输出:
哈哈哈哈哈
没有行受到影响。
(返回 0 行)
sp_executesql 运行完毕。
| 归档时间: |
|
| 查看次数: |
3234 次 |
| 最近记录: |