【发布时间】:2019-12-23 10:59:08
【问题描述】:
我正在尝试在存储过程中编写验证。此存储过程使用 CLR 代码创建 CLR 存储过程:
CREATE OR ALTER PROCEDURE SayHelloVoice
@messageText NVARCHAR(MAX),
@procedureName NVARCHAR(MAX)
AS
EXTERNAL NAME say.[CLRProcedures.SayHi].Voice
GO
上面的代码完美运行。但是,我需要添加一些验证:
CREATE OR ALTER PROCEDURE SayHelloVoice
@messageText NVARCHAR(MAX),
@procedureName NVARCHAR(MAX)
AS
IF @messageText IS NULL
RAISERROR('Custom text', 16,16)
-- some other logic here
EXTERNAL NAME say.[CLRProcedures.SayHi].Voice
GO
但是 SSMS 显示错误:
关键字“EXTERNAL”附近的语法不正确。
如何在使用 CLR 存储过程时添加一些逻辑?
【问题讨论】:
-
在CLR函数中处理错误并将其传回RDBMS不是更有意义吗?
标签: sql-server tsql sql-server-2016