postgresql - 如果其他表列具有值 else false,postgresql 更新 true
问题描述
如果在 tableB 列中具有任何值,否则我想将 tableA 列更新为“True”,否则将其更新为 false。更新过程应该对所有动态地拥有这个表的模式进行。请帮助我。
update TA set TA.col=true else false (如果 TB.col 有任何值)
DO $$
declare
l_rec record;
l_schema_name varchar(100);
l_sql varchar(100);
BEGIN
for rec in select Table_schema, table_name from information_schema.tables where table_name='table A' and 'table B'
LOOP
l_schema_name :=rec.Table_schema;
l_sql := 'update '||l_schema_name||'.TA Set TA.column1= (case when isnull(TB.Column,' ')=' ' then false else true end) From tableA TA left join tableB TB on TA.Col=TB.Col';
begin
execute l_sql;
end;
END loop;
END;
$$;
解决方案
我有上述查询的解决方案。
DO $$ 声明记录记录;l_schema_name varchar(100); l_sql varchar(1000); BEGIN for rec in select Table_schema, table_name from information_schema.tables where table_name='TA' and table_schema='schema_name' LOOP l_schema_name :=rec.Table_schema; l_sql := 'update '||l_schema_name||'.TableA TA set TA.col=true where id in (select id from '||l_schema_name||'.Tableb TB)'; 开始执行 l_sql; 提高通知 '更新为 % :',l_schema_name; 结尾; 结束循环;结尾; $$;
推荐阅读
- for-loop - Golang 文件阅读器范围错误
- vue.js - 如何在 vuejs 中读取 json 对象?
- react-native - React-Native-Firebase Crashlytics 不跟踪,事件工作 IOS
- c++ - 有没有办法检查“系统偏好设置”是否被锁定?
- r - R中的函数递归
- javascript - Vue无法在按钮单击时调用外部函数
- mysql - 从另一列中查找 2 个不同值的行的 MYSQL SUM
- git - 保护 git 存储库中的删除/重命名文件
- html - 如何在图像上添加按钮和文本并使其具有响应性?
- flutter - 我正在尝试将 admob 集成到颤振中。它返回null?