gpt4 book ai didi

sql - PostgreSQL:如何在数据库的每个表中添加一列?

转载 作者:搜寻专家 更新时间:2023-10-30 19:55:05 24 4
gpt4 key购买 nike

我有一个包含 169 个表的数据库

我需要在每个表中都有这一列:

wid integer not null primary key

我试过了(感谢 https://stackoverflow.com/users/27535/gbn 的解决方案):

SELECT 
'ALTER TABLE ' + T.name + ' ADD foo int NULL'
FROM
sys.tables AS T
WHERE
T.is_ms_shipped = 0

但它在 PostgreSQL 上不起作用。

它只适用于 tsql。

如何一次在每个表中添加这一列?

最佳答案

do $$
declare
selectrow record;
begin
for selectrow in
select
'ALTER TABLE '|| T.mytable || ' ADD COLUMN foo integer NULL' as script
from
(
select tablename as mytable from pg_tables where schemaname ='public' --your schema name here
) t
loop
execute selectrow.script;
end loop;
end;
$$;

您可以使用以下选择

测试您的所有 是否都已更改为新的
select 
table_name,COLUMN_NAME
from
INFORMATION_SCHEMA.COLUMNS
where
COLUMN_NAME='foo' -- column name here

关于sql - PostgreSQL:如何在数据库的每个表中添加一列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25993327/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com