一个略有特殊的Update的语句.
来源:互联网 发布:数据库理论试题及答案 编辑:程序博客网 时间:2024/04/27 05:43
今天遇到这样一个更新语句:
在用户表Sys_emplyee中有一字段Statisticsreports,类型为:varchar(200),这个字段用来记录此用户可以查看的报表的ID, 其中ID是用单引号引起来的,多个ID之间使用逗号分开.
例如:
--返回:
EmpName Statisticsreports
组长 '1','2','3'
现在想取消该用户对某一报表的访问权限,使用以下Sql语句
方法一:
更新后返回记录:
EmpName Statisticsreports
组长 '1','3'
方法二:
文章来源于 http://www.cnblogs.com/zhangzs8896 版权归原作者所有
在用户表Sys_emplyee中有一字段Statisticsreports,类型为:varchar(200),这个字段用来记录此用户可以查看的报表的ID, 其中ID是用单引号引起来的,多个ID之间使用逗号分开.
例如:
select EmpName,Statisticsreports from Sys_emplyee
where EmpAccount='newsight/zhangzs8896'
where EmpAccount='newsight/zhangzs8896'
--返回:
EmpName Statisticsreports
组长 '1','2','3'
现在想取消该用户对某一报表的访问权限,使用以下Sql语句
方法一:
declare @p varchar(20)
set @p='''2'''
update Sys_emplyee
set Statisticsreports=stuff(replace(','+Statisticsreports,','+@p,''),1,1,'')
where empaccount='newsight/zhangzs8896'
set @p='''2'''
update Sys_emplyee
set Statisticsreports=stuff(replace(','+Statisticsreports,','+@p,''),1,1,'')
where empaccount='newsight/zhangzs8896'
更新后返回记录:
EmpName Statisticsreports
组长 '1','3'
方法二:
declare @p varchar(20)
set @p='''2'''
update Sys_emplyee
set Statisticsreports = case when (Statisticsreports like @p+'%')
then replace(Statisticsreports,@p+',','')
when (Statisticsreports like '%'+@p)
then replace(Statisticsreports,','+@p,'')
else replace(Statisticsreports,','+@p+',',',')
end
where empaccount='newsight/zhangzs8896'
set @p='''2'''
update Sys_emplyee
set Statisticsreports = case when (Statisticsreports like @p+'%')
then replace(Statisticsreports,@p+',','')
when (Statisticsreports like '%'+@p)
then replace(Statisticsreports,','+@p,'')
else replace(Statisticsreports,','+@p+',',',')
end
where empaccount='newsight/zhangzs8896'
文章来源于 http://www.cnblogs.com/zhangzs8896 版权归原作者所有
- 一个略有特殊的Update的语句.
- sql中update语句的几个特殊处理
- 一个sql 2008的update语句问题
- mysql_一个经典的update语句错误
- 一个sql server update的语句
- UPDATE语句的用法
- UPDATE 语句的语法错误
- 复杂的update语句
- update语句的语法
- update语句的书写
- update 的SQL语句执行遇到的一个错误
- update 语句的特殊使用,oracle时间列加一天,加一小时,加一分钟
- update from 语句的写法
- Update语句的完成过程
- Update语句的高级用法
- oracle 的 update 语句实例
- "update语句的语法错误"解决
- update replace语句的使用
- .Net中的DBNull类型
- 分页控件[陕北吴旗娃的AspNetPager控件]
- 给定一个字段的值,查询它所处的表以及字段
- ##---玩死小泉--##
- 一个文件上传与下载的UserControl
- 一个略有特殊的Update的语句.
- 今天下午很郁闷
- 两个CheckBox互动
- Error Correction
- 使用js脚本如何进行客户端验证时出现乱码怎么办?
- 在ASP.NET中值得注意的两个地方
- 最近坛子里问行列转换的很多,简单总结一下。
- Asp.Net下页面之间传值
- 读取存储在MsSql下的文件,配合使用DataGrid的模板列。