日期:2014-05-18  浏览次数:20478 次

关于:通过存储过程新增和修改数据
有一权限表
ID,用户ID,权限ID

现希望建一存储过程,用于设置权限,设想该过程有两个传入参数,用户ID和权限ID。
如果我要指定   某一个或多个用户具有一项或多项权限:
调用   过程名(“用户1,用户2,用户4”,“权限1,权限2”)
如果我要删除   某一个或多个用户的所有权限:
调用   过程名(“用户1,用户4”,“”)
如果我要删除   所有用户的某一项或多项权限:
调用   过程名(“”,“权限2”)

??在写以上这个存储过程时遇上一个问题,怎么把一串用逗号隔开的字符转为数组并对数组循环,以便我一个一个插入行或删除等操作??

对于以上这个功能这样设置存储过程合理吗?

------解决方案--------------------
charindex( ', ', ', '+字符串+ ', ')> 0 判断是否在范围内.
也可以用charindex( ', ',字符串) 循环拆~~~
------解决方案--------------------
先看帮助查看charindex的说明。

------解决方案--------------------
CHARINDEX ( expression1 , expression2 [ , start_location ] )
如:
要查找 '2 '在字符串 '33672 '中的的开始位置,就这样:
PRINT CHARINDEX( '2 ', '33672 ')
------
--结果:
5
---------------------
start_location 参数是从哪一位置开始查找。