当前位置: 首页 > 面试题库 >

如何使用特定的列名更新所有表

牟辰龙
2023-03-14
问题内容

我正在尝试更新所有以’agg%’和column_name=’%userid%’之类的字符串开头的表…但是即使我能够找到选择具有特定列的所有表的选项,我也看不到在线的此类示例名称和表名称我需要执行相同的操作来更新这些表,如下所示:

    update TABLE_NAME set COLUMN_NAME='rajeev' WHERE COLUMN_NAME LIKE '%userid%'
and TABLE_NAME LIKE 'agg%'
FROM INFORMATION_SCHEMA.COLUMNS;

帮助将不胜感激。

谢谢。


问题答案:

获取您条件的更新查询

     select 
        'update '||c.table_name||' set '||c.COLUMN_NAME||' = ''rajeev'';' 
         as my_update_query
     from 
        (select 
            table_name,COLUMN_NAME
         from INFORMATION_SCHEMA.COLUMNS 
         where table_name LIKE 'agg%' and COLUMN_NAME LIKE '%userid%') c

执行

 do $$
  declare
    arow record;
  begin
    for arow in
    select 
        'update '||c.table_name||' set '||c.COLUMN_NAME||' = ''rajeev'';' 
         as my_update_query
     from 
        (select 
            table_name,COLUMN_NAME
         from INFORMATION_SCHEMA.COLUMNS 
         where table_name LIKE 'agg%' and COLUMN_NAME LIKE '%userid%') c
    loop
     execute arow.my_update_query;
    end loop;
  end;
$$;


 类似资料:
  • 我有一个租户表,一次只能有一个租户处于活动状态。 要激活租户,我使用以下代码。是否有更好的方法使用spring data mongo更改所有行的特定列。

  • 问题内容: 我有一个带有单个主键的表。当我尝试执行插入操作时,尝试插入具有现有键的行可能会导致冲突。我要允许插入更新所有列吗?有什么简单的语法吗?我试图让它“ upsert”所有列。 我正在使用PostgreSQL 9.5.5。 问题答案: 该语法 要求 显式命名目标列。避免这种情况的可能原因: 您有很多列,只是想缩短语法。 除了唯一列,您不 知道 列名。 必须以匹配顺序和匹配数据类型表示 “目标

  • 问题内容: 我想在整个数据库中查找2-3个不同的列名称,并列出所有包含这些列的表。任何简单的脚本? 问题答案: 要获取所有具有列或数据库中的表:

  • 我正在使用Anaconda从hive读取表,并且我所有的列名都自动添加了一个前缀,比如test.age,test.sex,test.degree。如何使用熊猫删除所有的前缀'test.'?

  • 本文向大家介绍MongoDB中如何使用特定字符串更新字段的所有值,包括了MongoDB中如何使用特定字符串更新字段的所有值的使用技巧和注意事项,需要的朋友参考一下 要更新所有值,请将update()与multi:true一起使用。  让我们创建一个包含文档的集合- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出- 以下是更新字段“ SubjectName”的所有值的查询- 在f

  • 我有一个只有一个主键的表。当我试图插入时,可能会因为试图用现有键插入一行而引起冲突。我想允许插入更新所有列?有什么简单的语法吗?我试图让它“向上插入”所有列。 我使用PostgreSQL 9.5.5。