`
rejoices
  • 浏览: 3526 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

批量修改表中某些字段的值

 
阅读更多
一 使用场景
   表中某一字段值原值"123-ABC”, 但要求修改为"123ABC“,数据库中很多表有关联此字段值

二 修改方式

1 首先清除主键约束
select 'ALTER  TABLE ' || consc.table_name || ' disable  constraint ' ||
       consc.constraint_name
  from dba_cons_columns consc,
       (select tb.owner, tb.table_name, cols.column_name
          from dba_tables tb, dba_tab_cols cols
         where tb.OWNER = 'ORCL'
           and cols.OWNER = tb.OWNER
           and tb.table_name = cols.table_name
           and cols.column_name in ('XLID', 'TQID')) tbs
 where consc.table_name = tbs.table_name
   and consc.owner = 'ORCL'
   and consc.column_name in ('XLID', 'TQID')
 order by consc.constraint_name


2 其次生成更新语句
select tb.owner,
       ' update ' || tb.table_name || ' set ' || cols.column_name ||
       '= substr(' || cols.column_name || ',0,instr(' || cols.column_name ||
       ',''-'')-1)||substr(' || cols.column_name || ',instr(' ||
       cols.column_name || ',''-'')+1,length(' || cols.column_name ||
       ')) where instr(' || cols.column_name || ',''-'')>0',
       cols.column_name
  from dba_tables tb, dba_tab_cols cols
 where tb.OWNER = 'ORCL'
   and cols.OWNER = tb.OWNER
   and tb.table_name = cols.table_name
   and cols.column_name in ('XLID', 'TQID')


3 恢复主键约束
select 'ALTER  TABLE ' || consc.table_name || ' able  constraint ' ||
       consc.constraint_name
  from dba_cons_columns consc,
       (select tb.owner, tb.table_name, cols.column_name
          from dba_tables tb, dba_tab_cols cols
         where tb.OWNER = 'ORCL'
           and cols.OWNER = tb.OWNER
           and tb.table_name = cols.table_name
           and cols.column_name in ('XLID', 'TQID')) tbs
 where consc.table_name = tbs.table_name
   and consc.owner = 'ORCL'
   and consc.column_name in ('XLID', 'TQID')
 order by consc.constraint_name

分享到:
评论

相关推荐

    C# 修改list所有对象中的某字段

    本主题聚焦于如何修改List中所有对象的某个特定字段。Lambda表达式和ForEach方法是实现这一目标的常用工具。下面将详细介绍这两种方法。 **Lambda表达式** Lambda表达式是C# 3.0引入的一种简洁的匿名函数表示法,...

    sql2000批量替换字段中的值,sql注入批量替换

    ### SQL2000 批量替换字段中的值 在SQL Server 2000中进行批量替换字段中的值是一项常见的需求,特别是在处理大量数据时。这种操作可以帮助快速修改数据库表中的特定字段值,比如去除某些非法内容或者更新过时的...

    批量替换msyql字段内容

    在数据库管理中,有时我们需要对大量数据进行统一的修改,比如替换特定字段中的某些文本。在MySQL中,这种操作可以通过SQL语句配合正则表达式来实现,这正是"批量替换mysql字段内容"这一主题的核心。批量替换对于...

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

    总之,批量替换 MySQL 指定字段中的字符串是一项常用且强大的功能,它可以帮助我们高效地更新数据库中的信息,避免手动逐条修改的繁琐工作。熟练掌握 `REPLACE()` 函数,将极大地提升数据库管理的效率。

    数据库字段全拼与拼音首字母批量更新

    背景: 在建项目某些基础表需增加根据拼音首字母或全拼进行模糊... 2、修改表结构,增加全拼与拼音首字母的字段,修改数据入库与更新时的业务逻辑增加拼音的转换,在新功能上线前需批量更新相关数据库表的存量数据。

    BAPI批量修改工单的工艺路线.pdf

    2. 在通过BAPI批量修改工单工艺路线时,某些字段可能需要特别的增强才能完成修改。所谓增强,指的是在标准程序流程中加入客户化代码,从而对标准程序行为进行修改或补充。这样可以在不修改标准代码的情况下,根据...

    sql语句替换某列所有字段中的某个字符(如替换‘1,2,3,4’中的4)

    在数据库管理中,可能由于各种原因,如数据录入错误、格式不统一或需求变更等,需要对存储在数据库表中的数据进行批量修改。例如,将一个字段中的某个特定字符或字符串替换为另一个字符或字符串。这种需求在实际业务...

    Mysql中批量替换某个字段的部分数据(推荐)

    例如,假设我们有一个名为`table`的表,包含一个`url`字段,我们需要将`url`字段中所有的`aaa`替换为`bbb`,可以使用以下SQL语句: ```sql UPDATE table SET url = REPLACE(url, 'aaa', 'bbb'); ``` 这将更新表`...

    asp html php 等文件 批量 替换 字段 工具

    这些文件类型的批量替换工具能够帮助开发者高效地更新或修复代码,尤其是在面临中毒或木马问题时,进行批量修改显得尤为重要。 ASP(Active Server Pages)是一种微软开发的服务器端脚本环境,用于创建动态交互式...

    批量修改WORD内容 文件夹word中文字批量替换

    ### 批量修改Word文档内容:文件夹Word中文字批量替换 #### 背景介绍与应用场景 在日常办公及项目管理中,我们经常会遇到需要对大量Word文档进行统一编辑的情况,例如更改文档中的特定词汇、更新版权信息或版本号...

    批量修改文件类型,之前只上传了安装文件。

    2. 批量修改的意义:在某些情况下,如迁移数据、统一文件格式或调整工作流程,可能需要批量更改大量文件的扩展名。手动更改每个文件将非常耗时,因此批量修改工具或命令行工具变得尤为重要。 3. 使用脚本语言:编程...

    ArcEngine 属性表操作

    4. **属性更新**:在读取属性后,可能需要修改某些字段的值。这可以通过`IRow.SetNull`、`IRow.get_Value`和`IRow.PutValue`方法实现。首先,使用`Get_Value`获取当前值,然后使用`PutValue`设置新的值,最后调用`...

    sql2005自增字段归零.docx

    然而,在某些情况下,用户可能需要重置这个自增字段,使其从特定值(如1)重新开始。以下是对两种主要方法的详细解释: 1. **方法一:清空表并重新开始** 这种方法适用于不再需要现有数据的情况。你可以使用`...

    Mybatis Plus 自定义批量插入或批量更新(根据唯一索引)

    在上面的例子中,`unique_field` 表示具有唯一约束的字段。这个方法会先检查每个待插入对象是否已存在于数据库中,如果存在则调用 `updateById()` 进行更新,否则调用父类的 `batchInsert()` 方法进行插入。 对于...

    SQL语言用于对数据库的字段的修改删除

    在提供的描述中,“alter table a add ���� �ֶ���� �ֶ�����”可能是在尝试向名为'a'的表中添加一个新的字段。这里的“����”代表字段名,“�ֶ����”可能表示数据类型,“�ֶ�����...

    两张表自动对比更新VFP程序

    5. **自定义逻辑**:有时,简单的字段匹配可能不足以处理复杂情况,可能需要自定义逻辑,比如基于特定条件的更新或忽略某些字段。VFP的程序设计语言(VFP代码)可以实现这些复杂的业务规则。 6. **性能优化**:当...

    批量创建数据库中所有表的触发器,删除所有触发器

    - 自动化业务流程:触发器可以自动执行某些操作,如计算字段值、更新关联表等。 然而,过度使用触发器可能导致性能问题,因为它们会增加数据库处理的复杂性。因此,在设计数据库时,应谨慎考虑是否需要使用触发器,...

    Oracle中只更新两张表对应数据的方法 - AJava

    在Oracle数据库中,当需要更新两张表之间关联的数据时,我们通常会涉及到多表操作,这在数据库管理和数据维护中是常见的需求。本篇将详细解释如何在Oracle中高效且准确地只更新两张表对应数据的方法。 首先,我们...

    数据表内容批量替换— PHPCMS插件_utf8版本

    批量替换在大型网站维护中非常实用,特别是在需要更新大量信息或者统一调整某些关键词时。例如,如果网站内容中存在某个错误的词汇或者需要进行品牌名称的变更,手动逐条修改将非常耗时。此时,PHPCMS的这个插件就能...

Global site tag (gtag.js) - Google Analytics