***向专家求教自定义函数的问题

Chiun 2005-06-07 12:43:27
我自定义了一个函数
CREATE FUNCTION IFKRaiseError
-- Raise user defined message
(@ErrorCode INT )
RETURNS NVARCHAR(256) -- Error message
AS
BEGIN
DECLARE @MsgLangID INT
DECLARE @ErrorMessage NVARCHAR(256)

SELECT @MsgLangID = msglangid FROM master..syslanguages WHERE name = @@LANGUAGE
SELECT @ErrorMessage = description FROM master..sysmessages WHERE error = @ErrorCode AND msglangid = @MsgLangID

IF(@ErrorMessage IS NULL AND @MsgLangID <> 1033)
SELECT @ErrorMessage = description FROM master..sysmessages WHERE msglangid = 1033 -- if failed use default language us_english
RETURN @ErrorMessage
END


我希望能测试该函数的返回值
于是我用以下代码希望能打印出我运行结果

declare @a nvarchar(256)
set @a = IFKRaiseError(1)
print @a
但是编译错误:
Server: Msg 195, Level 15, State 10, Line 3
'IFKRaiseError' is not a recognized function name.
请问是为什么,该如何调用?
另外自定义函数里为什么不允许使用print?
...全文
124 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
子陌红尘 2005-06-07
  • 打赏
  • 举报
回复
1、dbo.IFKRaiseError()

2、SQL Server不支持
selectplayer 2005-06-07
  • 打赏
  • 举报
回复
自定义函数必须指定所有者。你试试select dbo.IFKRaiseError(1)
duanduan1122 2005-06-07
  • 打赏
  • 举报
回复
dbo.IFKRaiseError()
Chiun 2005-06-07
  • 打赏
  • 举报
回复
谢谢两位专家

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧