Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何使用特定列名更新所有表_Sql_Database_Postgresql - Fatal编程技术网

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

Sql 如何使用特定列名更新所有表,sql,database,postgresql,Sql,Database,Postgresql,我正在尝试更新所有以字符串开头的表,如“agg%”和列名称=“%userid%”。。。 但是我在网上没有看到任何这样的例子,即使我能够找到选择所有具有特定列名和表名的表的选项,我也需要这样做来更新这些表,如下所示: update TABLE_NAME set COLUMN_NAME='rajeev' WHERE COLUMN_NAME LIKE '%userid%' and TABLE_NAME LIKE 'agg%' FROM INFORMATION_SCHEMA.COLUMNS;

我正在尝试更新所有以字符串开头的表,如“agg%”和列名称=“%userid%”。。。 但是我在网上没有看到任何这样的例子,即使我能够找到选择所有具有特定列名和表名的表的选项,我也需要这样做来更新这些表,如下所示:

    update TABLE_NAME set COLUMN_NAME='rajeev' WHERE COLUMN_NAME LIKE '%userid%'
and TABLE_NAME LIKE 'agg%'
FROM INFORMATION_SCHEMA.COLUMNS;
我们将不胜感激

谢谢。

获取您的病情的更新查询


执行

获取条件的更新查询


执行


@用户3393089或将上述内容放入PL/pgSQL块中,并使用动态SQL。上有很多示例说明了如何执行该操作。@user3393089或将上述内容放入PL/pgSQL块中,并使用动态SQL。上面有很多例子来说明如何做到这一点。
     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;
$$;