报错:不是可以识别的内置函数名称

!!创建函数的时候不需要加dbo.,但在访问的时候,标量函数要加.dbo的


自己写完的函数,调用后报错提示:不是可以识别的内置函数名称

例:SELECT @JS_ID = A.ID,
        @JSHM = A.JSHM,
        @JS_MC = A.JS_MC,
        @XY_DM = A.XY_DM,
        @RS = A.RS
    FROM(select ID,JSHM,JS_MC,XY_DM,RS
     FROM F_Get_ZYBJ_JXB_JSXX(@ID_ZYBJ_KKKC_JXB,@ID_1,@XND_Q,@XND_Z,@XNXQ)
     where JSLX_DM = @JSLX_DM
     and DXBZ >= @BJSL)AS A
    WHERE A.ID NOT IN(select *  from aa(@i,@num,@PK_JS_JG_Array))   //aa为自己写的多表值函数

若改成  WHERE A.ID NOT IN(aa(@i,@num,@PK_JS_JG_Array))  则提示 "不是可以识别的内置函数名称",

改成WHERE A.ID NOT IN(dbo.aa(@i,@num,@PK_JS_JG_Array))  后成功执行,但此时逻辑错误:因为aa为多语句表值函数,返回的是表,而不是值,不能直接应用

posted @ 2011-06-07 12:46  oY_211  阅读(4416)  评论(0编辑  收藏  举报