将结果插入更新列的 table
Insert result to table of updating column
我有这种情况我正在 postgres 中对 sql 脚本执行更新语句,当我找到匹配的记录时我想更新内容并保存到其他 table 例如 id_user 对于我更新过的人是否可以使用 plpgsql。
你能告诉我应该在 google 上搜索哪些字词吗?
例如
update User set Status "Active" where any_condition when success insert to UserHistoryTable
在 CTE 中使用带有 RETURNING *
的正常更新,然后从那里将数据插入历史记录 table:
WITH j AS (
UPDATE tbuser SET status = 'Active'
WHERE id = 42
RETURNING *)
INSERT INTO user_hist SELECT * FROM j;
演示:db<>fiddle
如果你想保存更新前的值我建议你看看triggers
。
我有这种情况我正在 postgres 中对 sql 脚本执行更新语句,当我找到匹配的记录时我想更新内容并保存到其他 table 例如 id_user 对于我更新过的人是否可以使用 plpgsql。 你能告诉我应该在 google 上搜索哪些字词吗?
例如
update User set Status "Active" where any_condition when success insert to UserHistoryTable
在 CTE 中使用带有 RETURNING *
的正常更新,然后从那里将数据插入历史记录 table:
WITH j AS (
UPDATE tbuser SET status = 'Active'
WHERE id = 42
RETURNING *)
INSERT INTO user_hist SELECT * FROM j;
演示:db<>fiddle
如果你想保存更新前的值我建议你看看triggers
。