我正在使用SSMS处理本地和远程SQL Server实例。我创建了一个小函数,例如:
create function ufnTestFunc () returns int begin return 1 end
当我尝试对其进行“修改”或选择“脚本功能为-> alter”时,出现如下错误:
UserDefinedFunction’dbo.ufnTestFunc’的脚本失败。(Microsoft.SqlServer.Smo) -UserDefinedFunction’ufnTestFunc’的TextHeader中的语法错误。(Microsoft.SqlServer.Smo)
UserDefinedFunction’dbo.ufnTestFunc’的脚本失败。(Microsoft.SqlServer.Smo)
-UserDefinedFunction’ufnTestFunc’的TextHeader中的语法错误。(Microsoft.SqlServer.Smo)
这在已经存在的功能上也会发生。可能是什么原因?
笔记:
本地服务器: Microsoft SQL Server Express Edition(64位)-10.50.2500.0
远程服务器: Microsoft SQL Server Web版(64位)-10.50.1600.1
SSMS:
Microsoft SQL Server Management Studio 10.50.2500.0 Microsoft Data Access Components (MDAC) 6.1.7601.17514 Microsoft MSXML 3.0 6.0 Microsoft .NET Framework 2.0.50727.5448
好的,就像前面提到的人一样,但有一点区别。
问题是AS关键字。尽管AS函数内容之前的关键字是可选的,但SSMS不能在没有它的情况下处理函数。他们工作,但制造麻烦。这是一个错误,在BOL的任何地方都没有提及。
AS
我通常使用AS关键字,但是这次数据库来自以前未使用过的编码器。在我的测试函数中,我也没有使用它来使函数尽可能的小。