如何向 SQL CLR 存储过程添加 sql_variant 参数?使用 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
}
In 映射 CLR 参数数据 http://msdn.microsoft.com/en-us/library/ms131092%28SQL.100%29.aspx来自 SQL 联机丛书,Object http://msdn.microsoft.com/en-us/library/system.object.aspx被列为用于映射的正确类型sql_variant http://msdn.microsoft.com/en-us/library/ms173829.aspx.
我创建了一个简单的 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());
}
};
然后我修改了 test.sql 文件来执行这个存储过程:
DECLARE @thing sql_variant = 'hahahahaha';
EXEC dbo.StoredProcedure1 @thing
这将按预期运行并产生以下输出:
哈哈哈哈哈
没有行受到影响。
(返回 0 行)
sp_executesql 运行完毕。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)