Dot-Net
Sql Server CLR 函式
在編寫 CLR 函式 Sql Server 時,我們可以使用命名空間嗎?
namespace SomeName1.SomeName2 { public static class SomeClass { [SqlFunction] public static SqlString SomeMethod(SqlString input) { // .... } } }如果是這樣,那麼我們如何從 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]其中
[SomeName1.SomeName2]第一部分是 SQL Server 中命名的程序集,其餘 ([SomeName1.SomeName2.SomeClass.SomeMethod]) 是完全限定的函式名稱,包括命名空間。順便說一句,如果您從 Visual Studio 進行部署,它會為您處理很多這樣的事情。