13. 请您于SQL Server Management Studio中执行以下的程序代码,以便使用CREATE ASSEMBLY陈述式来登录组件SayHello.dll,然后使用CREATE PROCEDURE陈述式建立一个会参考所登录之组件SayHello.dll的存储过程:
USE 北风贸易;
GO
IF EXISTS (SELECT * FROM sys.procedures WHERE [name] = ''SayHello'')
DROP PROCEDURE SayHello;
GO
IF EXISTS (SELECT * FROM sys.assemblies WHERE [name] = ''SayHello'')
DROP ASSEMBLY SayHello;
GO
-- 登录组件 SayHello.dll(请务必确认组件所在路径正确)
CREATE ASSEMBLY SayHello
FROM ''C:\SQL2005Demo\CH13\SayHello\SayHello\bin\SayHello.dll''
WITH permission_set = Safe; |
GO ﹂──>组件的位置路径
-- 建立一个会参考所登录之组件 SayHello.dll 的存储过程
CREATE PROCEDURE dbo.SayHello
(
@Greeting nvarchar(80) OUTPUT
)
AS EXTERNAL NAME SayHello.[SayHello.SayHelloClass].SayHello;
GO ↓
[命名空间.类别名称]
14. 请您继续于SQL Server Management Studio中执行以下的程序代码,以便尝试执行我们所建立的CLR存储过程(执行结果如图表6所示):
USE 北风贸易;
GO
EXEC sp_configure ''clr enabled'', ''1'';
GO
RECONFIGURE;
GO
DECLARE @return_value int, @Greeting nvarchar(80);
-- 执行CLR存储过程并取得传回值与输出变量的值
EXECUTE @return_value = dbo.SayHello
@Greeting = @Greeting OUTPUT;
-- 检视传回值与输出变数的值
SELECT @return_value AS 传回值,
@Greeting AS "输出参数 @Greeting 之值";
图表6
章立民研究室撰写的数据库最佳书籍 - 「SQL Server 2005数据库开发实战」有完整的章节内容叙述CLR存储过程的撰写与使用方法,请自行参考之。