Deb*_*jit 8 .net sql-server sqlclr function
在编写CLR函数时,我们可以使用命名空间吗?
namespace SomeName1.SomeName2
{
public static class SomeClass
{
[SqlFunction]
public static SqlString SomeMethod(SqlString input)
{
// ....
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果是这样,那么我们如何从SqlServer调用此函数.换句话说,我们如何使用命名空间从SQL Server调用CLR函数?
是的,你绝对可以:
CREATE FUNCTION SomeMethod(@input VarChar(200))
RETURNS VarChar(200) WITH EXECUTE AS CALLER AS
EXTERNAL NAME [SomeName1.SomeName2].[SomeName1.SomeName2.SomeClass.SomeMethod]
Run Code Online (Sandbox Code Playgroud)
其中[SomeName1.SomeName2]
第一部分是SQL Server中命名的程序集,而rest([SomeName1.SomeName2.SomeClass.SomeMethod]
)是完全限定的函数名,包括命名空间.
顺便说一下,如果从Visual Studio进行部署,它会为您处理大量此类操作.