SQL CLR 関数登録方法(SQL Server 2005 使用)

以下の手順で、作成したSQL CLR 関数を呼び出すことが可能になります。

1. アセンブリを登録したいDBをUSEする。

USE [db_name]
GO

2. コンパイルしたアセンブリをSQLServerに登録。

アセンブリ登録名に.(ドット)を含ませることはできなかった。

CREATE ASSEMBLY Kurusugawa_SQLServer
FROM 'C:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\Kurusugawa.SQLServer\Kurusugawa.SQLServer\bin\Release\Kurusugawa.SQLServer.dll'
WITH permission_set=safe
GO

3. SQL CLR関数の呼び出し方法の登録。

2行目は[アセンブリ登録名].[クラス名].[メソッド名]

CREATE FUNCTION dbo.Match(@column nvarchar(max), @keyword nvarchar(max)) RETURNS bit AS EXTERNAL NAME
Kurusugawa_SQLServer.UserDefinedFunctions.Match;
GO

4. 登録先のDBで関数を実行してみる

SELECT * FROM xxx WHERE dbo.Match(yyy, 'zzz www') = 1

コメントをどうぞ