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