首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQl自定义函数调用异常('.' 附近有语法异常。),请教怎么解决

2012-08-27 
SQl自定义函数调用错误(. 附近有语法错误。),请问如何解决定义一个表值函数fn_GetMoneysfor_sp_SalesRegi

SQl自定义函数调用错误('.' 附近有语法错误。),请问如何解决
定义一个表值函数
fn_GetMoneysfor_sp_SalesRegistration(int ID)

此函数只返回一行数据

如果使用 select fname from fn_GetMoneysfor_sp_SalesRegistration(1) 可以返回正确数据


如果在查询语句中调用却出现问题。如下:

消息 102,级别 15,状态 1,第 18 行
'.' 附近有语法错误。


select fname=(select fname fn_GetMoneysfor_sp_SalesRegistration(t.id)) from table as t

函数前面无论加不加所有者都是一样的错误。


是不是不能这样调用呢!请问改如何调用才不会出现问题?谢谢!




[解决办法]

SQL code
CREATE TABLE [dbo].[Tmp_Tbl](    [TypeID] [smallint] NOT NULL,    [TypeName] [nvarchar](128) NULL,    [Caption] [nvarchar](128) NULL) ON [PRIMARY]IF OBJECT_ID (N'fn_test') IS NOT NULL    DROP FUNCTION fn_testGOCREATE FUNCTION fn_test (@ID Int)RETURNS TABLEAS RETURN(    Select TypeID, TypeName, Caption From Sy_Datatypes Where TypeID=@ID)GOSelect *, (Select TypeName from dbo.fn_test(A.TypeID)) TFld from SY_DataTypes a
[解决办法]
是不是兼容模式出问题

 EXEC sp_dbcmptlevel databasename, 90;

热点排行
Bad Request.