首页 新闻 会员 周边

数据库方面的

0
悬赏园豆:50 [已解决问题] 解决于 2012-03-02 16:56

我是想所有根据程序指定的传入sql server 里的一串 用户id 取出用户信息 比如id是 “1,2,3,4”

然后我自己写了个函数f_splitstr,f_splitstr的作用就是和c# 的Split()方法是一样的 但是的出来的结果好像不能应用于下面的sql语句

select * from tbuser where User_ID in (dbo.f_splitstr('1,2,3,4',','))

报错

消息 4121,级别 16,状态 1,第 1 行
找不到列 "dbo" 或用户定义的函数或聚合 "dbo.f_splitstr",或者名称不明确。

 

有哪位可以帮帮忙看怎么改才可以

koi的主页 koi | 初学一级 | 园豆:4
提问于:2012-03-02 16:40
< >
分享
最佳答案
1

试试:

select * from tbuser where User_ID in (select dbo.f_splitstr('1,2,3,4',','))
收获园豆:50
邀月 | 高人七级 |园豆:25475 | 2012-03-02 16:45

一样的错误  不过算受你点拨了 我改成select * from tbuser where User_ID in (select * from dbo.f_splitstr('1,2,3,4',','))就可以了

koi | 园豆:4 (初学一级) | 2012-03-02 16:55

放到触发器里用的时候把dbo.f_splitstr('1,2,3,4',',')换成dbo.f_splitstr(参数名,',')  你那样的写法才可以通过。。。    不过程序访问的时候他还是报一样的错误。。。

koi | 园豆:4 (初学一级) | 2012-03-02 17:05

求指导

koi | 园豆:4 (初学一级) | 2012-03-02 17:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册