相关疑难解决方法(0)

生成SQL以更新主键

我想更改主键和引用此值的所有表行.

# table master
master_id|name
===============
foo|bar

# table detail
detail_id|master_id|name
========================
1234|foo|blu
Run Code Online (Sandbox Code Playgroud)

如果我给出一个脚本或功能

 table=master, value-old=foo, value-new=abc
Run Code Online (Sandbox Code Playgroud)

我想创建一个SQL片段,在所有引用表"master"的表上执行更新:

update detail set master_id=value-new where master_id=value-new;
.....
Run Code Online (Sandbox Code Playgroud)

在内省的帮助下,这应该是可能的.

我用postgres.

更新

问题是,有许多表具有表"master"的外键.我想要一种方法来自动更新所有具有外键到主表的表.

sql postgresql introspection

15
推荐指数
2
解决办法
1万
查看次数

如何进行级联更新?

我有一组表,其列在另一个表的用户名列上具有外键约束.我被告知不要添加ON UPDATE CASCADE到表定义中,因为我们不想默默地丢失活动日志之类的信息.我们只想在这个实例中明确级联.我无法在查询中找到如何执行此操作的示例.我觉得它看起来像

UPDATE CASCADE "MySchema"."MyTable"
SET user_name = "John Smith"
WHERE user_id = 1
Run Code Online (Sandbox Code Playgroud)

这可能吗?

postgresql sql-update

8
推荐指数
2
解决办法
1万
查看次数

标签 统计

postgresql ×2

introspection ×1

sql ×1

sql-update ×1