gpt4 book ai didi

postgresql - 删除触发器中的行(PostgreSQL)

转载 作者:行者123 更新时间:2023-11-29 11:51:04 24 4
gpt4 key购买 nike

我有一个update触发器,它应该会删除OLD*行,但我不知道表结构。
所以我试过使用information_schema来获取列名称,但是速度很慢。
是否可以在不了解表结构的情况下执行删除?
升级版:
Trigger应该接受任何表的行,因此Trigger函数在调用该表之前不能知道该表的任何信息。
升级版2:
这对我很有效:

EXECUTE 'DELETE FROM ' || tablename || ' WHERE ctid=$1' USING OLD.ctid;

最佳答案

你为什么需要这个?更新实际上是插入新版本和删除旧版本的记录。这个触发器不需要额外的删除,因为记录已经不存在了,所以触发器永远找不到记录。

关于postgresql - 删除触发器中的行(PostgreSQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4301357/

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