我想在SQL SERVER中声明一个函数,它是我的代码的开头,但是我得到了这个错误:'创建函数'必须是批次中唯一的陈述。
CREATE FUNCTION FindingMobileOrTelephone ( @Number nchar(11) )
RETURNS nvarchar
AS
BEGIN
DECLARE @ItIsMobile nvarchar;
DECLARE @ItIsTelephone nvarchar;
RETURNS @ItIsMobile;
END;
有什么问题?!
答案 0 :(得分:1)
试试这个
上次陈述应为RETURN
而不是RETURNS
CREATE FUNCTION FindingMobileOrTelephone ( @Number nchar(11) )
RETURNS nvarchar
AS
BEGIN
DECLARE @ItIsMobile nvarchar;
DECLARE @ItIsTelephone nvarchar;
RETURN (@ItIsMobile);
^
END
答案 1 :(得分:1)
CREATE FUNCTION / TABLE应该是您正在执行的脚本中的第一个语句。
已经提到过一种选择。添加GO
类将脚本拆分为单独的脚本。
但是,如果您在BEGIN
END
块内执行此操作,则无法使用此功能,因为您无法将此块与GO
分开。
这里的一个选项是将CREATE
语句包装到字符串文字中并使用EXEC or sp_executesql
-- your script
EXEC('CREATE FUNCTION ... END')