删除列后,TCL触发器不起作用 [英] TCL trigger doesn't work after deleting a column

查看:82
本文介绍了删除列后,TCL触发器不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Hello list,


在我将
删除了一个未使用的列之后,使用NEW和OLD阵列的TCL触发器失败了,现在我收到了这个错误:


pltcl:缓存查找属性''........ pg.dropped.24 ........''输入0

失败


我已经做了真空,但错误仍然存​​在。任何想法如何修复/避免

那个?


提前谢谢


-
$ b $bJosuéMaldonado。

Hello list,

The TCL trigger that uses NEW and OLD arrays failed after after I
removed a unused column, now I got this error:

pltcl: Cache lookup for attribute ''........pg.dropped.24........'' type 0
failed

I already did a vacuum, but the error remain. Any idea how to fix/avoid
that?

Thanks in advance

--
Josué Maldonado.

推荐答案

你好Ian,


Ian Harding写道:
Hi Ian,

Ian Harding wrote:

您删除的列是否是您在函数中通过名称明确引用的列?


不,我删除的列没有在函数中明确引用。

你使用的是什么版本?

Is the column you deleted one that you referred explicitly by name in
your function?
No, the column I deleted does not get refered explicitly in the function.

What version are you using?




7.3.3,我打算今天晚些时候升级到7.3.4,这可能有所帮助。


谢谢,

---------------------------(广播结束)---------------- -----------

提示9:如果您的

加入列的数据类型,计划程序将忽略您选择索引扫描的愿望不匹配



7.3.3, and I''m planning to upgrade to 7.3.4 later today maybe that can help.

Thanks,
---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column''s datatypes do not match


从我所看到的/想到你从表中删除它???


我假设是,所以你应该重新创建函数和

触发器,你应该没问题。


使用7.3.x使用CREATE或REPLACE功能更换功能所以

它仍然会有相同的OID。


接下来放下触发器然后重新创建触发器你应该没问题

HTH

Darren

2003年9月3日星期三,JosuéMaldonado写道:
From what i am seeing / thinking did you drop it from the table ???

I am assuming yes and therefore you should recreate the function and the
trigger and you should be fine.

Using 7.3.x use the CREATE OR REPLACE FUNCTION to replace the function so
it will still have the same OID.

Next drop the trigger and then recreate the trigger and you should be fine

HTH
Darren
On Wed, 3 Sep 2003, Josué Maldonado wrote:
Hello list,

使用的TCL触发器在我删除了一个未使用的列后,NEW和OLD阵列失败了,现在我收到了这个错误:

pltcl:缓存查找属性''........ pg.dropped .24 ........''0型
失败

我已经做了真空,但错误仍然存​​在。知道如何修理/避免
那个吗?

提前致谢
Hello list,

The TCL trigger that uses NEW and OLD arrays failed after after I
removed a unused column, now I got this error:

pltcl: Cache lookup for attribute ''........pg.dropped.24........'' type 0
failed

I already did a vacuum, but the error remain. Any idea how to fix/avoid
that?

Thanks in advance




-

Darren Ferguson

---------------------------(播出结束)---- -----------------------

提示1:订阅和取消订阅命令转到 ma ******* @ postgresql.org



--
Darren Ferguson
---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to ma*******@postgresql.org


注意到循环没有通过所有领域:


foreach id [数组名称新] {

elog NOTICE" ID tiene
Noticed that the loop does not go through all fields:

foreach id [array names NEW] {
elog NOTICE "ID tiene


这篇关于删除列后,TCL触发器不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆