`
wusuoya
  • 浏览: 641336 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

批量更新字符串列表字段

 
阅读更多

数据库QBS.QBS_DEP_ROLE如下,

引用的workid所在表QBS.QBS_WORK

现在想更新QBS_DEP_ROLE表下所有worklist中含有workid2和4列(对应业务意义为无这两个工作区访问权限)

ibatis处理如下:

 

 <update id="updateDepRoles" parameterType="list"> 
update QBS.QBS_DEP_ROLE as r ,(select e.workList,e.depRoleId ,k.workId from QBS.QBS_DEP_ROLE as e, QBS.QBS_WORK k where workList like CONCAT('%',k.workId,',%') and k.workId in
 <foreach collection="list" item="item" open="(" separator="," close=")">
         #{item}
        </foreach>
) as w
SET r.WORKLIST = (select INSERT(w.WORKLIST, LOCATE(w.workId ,w.WORKLIST), LENGTH(w.workId)+1, ''))
WHERE r.depRoleId = w.depRoleId
</update>

 

解释:

 

(select e.workList,e.depRoleId ,k.workId from QBS.QBS_DEP_ROLE as e, QBS.QBS_WORK k where workList like CONCAT('%',k.workId,',%') ------ 临时表中worklist中有workid(因为要删除的工作区可能是多个,比如2和4,有的worklist中可能只有2,但冗余会有workid 4)

and k.workId in  -------workid是要删除的
 <foreach collection="list" item="item" open="(" separator="," close=")">
         #{item}
        </foreach>
) as w
SET r.WORKLIST = (select INSERT(w.WORKLIST, LOCATE(w.workId ,w.WORKLIST), LENGTH(w.workId)+1, ''))   将原WORKLIST替换为去掉workid的WORKLIST


WHERE r.depRoleId = w.depRoleId ----哪个部门的角色下的

 

 

分享到:
评论

相关推荐

    SqlServer批量替换字符串工具

    【SqlServer批量替换字符串工具】是一种专门针对Sqlservler数据库设计的实用工具,旨在高效地进行大规模的字符串替换操作。在数据库管理中,有时我们需要更新大量数据,尤其是涉及到文本字段时,手动修改每个记录...

    Sql批量替换字符串的工具

    例如,如果你有一个数据库表,其中的某个字段有大量的记录包含一个需要更新的字符串,手动操作会非常耗时且容易出错,此时批量替换工具就能大大提高效率。 描述中提到的“京华志&精华志出品”,可能是指这个工具是...

    批量替换 MySQL 指定字段中的字符串

    在数据库管理中,批量替换指定字段中的字符串是一个非常实用的操作,尤其在数据更新或迁移时。MySQL 提供了一个内置函数 `REPLACE()`,使得这个任务变得简单而高效。本篇文章将详细讲解如何利用 `REPLACE()` 函数在 ...

    字符串查找替换(批量任何文件)

    本主题将深入探讨如何在批量任何文件中进行字符串查找替换,这涉及到多个技术层面,包括基本概念、实现方法以及相关的工具和编程语言应用。 一、基本概念 1. 字符串:在计算机科学中,字符串是由一个或多个字符...

    asp批量替换access数据库中指定字段内指定字符串方法

    asp批量替换access数据库中指定字段内指定字符串方法

    PB程序中常用的字符串替换函数

    - **应用场景**:此类函数可以广泛应用于文本处理、数据清洗等场景,尤其在需要批量替换字符串的情况下非常有用。 - **注意事项**: - 在使用过程中需要注意输入参数的有效性,避免出现空字符串或非法字符等情况。 ...

    通过使用游标实现批量更新表中某个字段的值.sql

    oracle 用SQL通过使用游标实现批量更新表中某个字段的值表名和字段名需要修改,字符串的截取的方法需要根据实际情况修改

    db2字符串分隔,函数,过程的使用

    例如,如果你有一个字段存储了逗号分隔的值(如ID列表),你可以先使用`TOKENIZE()`分隔字符串,然后通过循环处理每个ID,这在处理批量数据时非常有用。 5. 性能优化: 当处理大量字符串数据时,注意优化查询,...

    React 替换字符串里面span的里的某些内容

    1.使用replace替换字符串的某些内容,使用的是正则+ replace, 2. 前提是替换字符串里面的某些标签,也可以是多个标签,这个是在react里面的,自己可以参考然后可以动态替换成其他标签,例如li,ul都是可以的 3.字符...

    统计字符串中英文标点数量并截取.zip

    这个压缩包内包含的可能是Java代码示例(如csdn-demo),用于批量处理字符串,统计其中的中英文标点符号的数量,并根据指定的字符编码(GBK或UTF)来计算字符串的总长度。如果字符串的总长度超过预设的最大长度,...

    python脚本(批量替换文件夹及其子文件夹下,Excel表格中字符串)

    该脚本可以批量替换 指定目录(包含子文件夹)下Excel表格的字符串。 ※1.请确保已经安装python/2.请确保已经安装openpyxl模块(安装方法参照百度)。 ※脚本使用方法 1.执行脚本 2.按照提示输入Excel表格的路径。...

    SQLServer逗号分隔的字符串转换成表

    该临时表只有一字段,字段的类型根据要拆分字符串里的实际数据类型。 2. 利用 SQL Server 函数进行字符串拆分:可以使用 SQL Server 的字符串函数,例如 CHARINDEX、LEFT、RIGHT、LEN 等函数对字符串进行拆分。 3....

    全能字符串替换机7.0无限制版

    全能字符串替换机7.0无限制版是一款强大的文本处理工具,专为程序员、文本编辑者以及需要批量修改大量文本内容的用户设计。该软件的主要功能是进行字符串的查找与替换,能够有效地提高工作效率,减少手动操作的时间...

    KETTLE实现循环批量多表抽取添加字段

    在这个案例中,你可能需要配置SQL查询来获取需要更新的表列表。 3. **Row Generator**:生成一个包含所有表名的行流,这将在循环中用作基础。 4. **Filter Rows**:筛选出需要操作的表,根据特定条件(例如,只...

    一次查找替换文本中多个字符串(添加还原功能)

    这个Java开发的应用程序允许用户批量地在文本文件中查找并替换多个特定的字符串,同时它还具有一个独特的功能——替换还原,这在误操作或需要恢复原始文本时显得尤为有用。 首先,我们来了解一下“查找与替换”功能...

    字符串数据写入SQL数据库

    1. **字符串数据处理**:在接收到客户端的字符串数据后,首先需要进行数据清洗和格式化,确保它们符合数据库的字段要求。这可能包括去除多余空格、转换数据类型(如日期或数字)、检查非法字符等。 2. **SQL语句...

    将excal批量数据插入到postgresql数据库(目前实现字符串拼接的方式)

    在本教程中,我们将聚焦于如何将Excel数据批量导入到PostgreSQL数据库,特别关注一种常见的方法——通过字符串拼接的方式。PostgreSQL是一个功能强大的开源关系型数据库管理系统,而Excel则是广泛使用的电子表格工具...

    批量替换msyql字段内容

    综上所述,批量替换MySQL字段内容涉及到的关键知识点包括:SQL更新语句、`REPLACE()`函数、`REGEXP_REPLACE()`函数以及正则表达式的使用。熟练掌握这些,将有助于我们在数据库维护和数据清洗工作中更加高效和精准。

    C#(.NET)Access字段内容替换字符串工具

    总的来说,"C#(.NET)Access字段内容替换字符串工具"是一个实用的数据库管理辅助工具,能够帮助用户高效地更新Access数据库中的文本信息,提高工作效率,同时减少了人为错误的可能性。对于需要处理大量数据的数据库...

    VB 利用UPDATE语句批量更新数据表中的数据

    假设我们要批量更新名为`Employees`的表中所有`Salary`字段,将它们增加10%,可以这样写: ```vb Dim sql As String sql = "UPDATE Employees SET Salary = Salary * 1.1" ``` 3. **创建命令对象**: 创建`ADODB...

Global site tag (gtag.js) - Google Analytics