从纯语法角度来说应该是这样的:
select BjdId,
       (select count(*) from UserTable where BjuBjdId=BjdId) into PlayNum,
       dbo.F_UserFunction(BjdId) into IsOpen 
from UserTable where BjdRoomId= " || roomid;

解决方案 »

  1.   

    select (select count(*) from UserTable where BjuBjdId=BjdId),dbo.F_UserFunction(BjdId) into PlayNum,IsOpen from UserTable where BjdRoomId= " +roomid;
      

  2.   

    oracle中的SQL语句,调用函数好像不是用dbo.F_UserFunction吧。测试报错了。
      

  3.   

    删了也不行啊。另外我的语句得到第一个字段是BjdId,猫猫您写的漏了。
      

  4.   

    当前用户有访问dbo.F_UserFunction的权限吗?
    给了权限再测一下
      

  5.   

    有啊。这个用户是管理员来的。运行提示:ORA-00904:"DBO"."F_UserFunction":invalid identifier
      

  6.   

    你在all_schemas里看看F_UserFunction是在dbo里的吗?
      

  7.   

    我在安全性的用户列表中看到函数所在数据库中的“已授予的对象权限”已经包含了F_UserFunction函数啦。