postgresql触发器语句语法(当数据位于其他表中时。)
我正在尝试学习在PGSql中创建触发器语句,但在为此传递数据列时遇到了问题 所以,通常情况下,我会这样:postgresql触发器语句语法(当数据位于其他表中时。),postgresql,Postgresql,我正在尝试学习在PGSql中创建触发器语句,但在为此传递数据列时遇到了问题 所以,通常情况下,我会这样: CREATE TRIGGER tsv_gin_update BEFORE INSERT OR UPDATE ON MySuperTable FOR EACH ROW EXECUTE PROCEDURE tsvector_update_trigger(content_tsv_gin,'public.wtf',content) CREATE TRIGGER tsv_gin_update
CREATE TRIGGER tsv_gin_update BEFORE INSERT OR UPDATE
ON MySuperTable FOR EACH ROW EXECUTE PROCEDURE
tsvector_update_trigger(content_tsv_gin,'public.wtf',content)
CREATE TRIGGER tsv_gin_update BEFORE INSERT OR UPDATE
ON MySuperTable FOR EACH ROW EXECUTE PROCEDURE
tsvector_update_trigger(content_tsv_gin,'public.wtf',nt.content) FROM NewTable nt;
在这里,content
和content\u tsv\u gin
只是MySuperTable
上的列,这非常有效
但是,我想要的是从另一个表提交的内容,而不是MySuperTable
。所以,我试过这样的方法:
CREATE TRIGGER tsv_gin_update BEFORE INSERT OR UPDATE
ON MySuperTable FOR EACH ROW EXECUTE PROCEDURE
tsvector_update_trigger(content_tsv_gin,'public.wtf',content)
CREATE TRIGGER tsv_gin_update BEFORE INSERT OR UPDATE
ON MySuperTable FOR EACH ROW EXECUTE PROCEDURE
tsvector_update_trigger(content_tsv_gin,'public.wtf',nt.content) FROM NewTable nt;
。。这不起作用,给我一个错误。。。因此,我想知道如何将另一个表中的数据列传递到触发器语句中-如果可能的话…我认为这是不可能的,但是您不能将列/表名作为文本传递,然后从触发器函数中获取数据吗?@mlinth:您知道这方面的示例吗?嗯,触发器调用的函数可以包含任何SQL语句,因此您只需构建一个常规的select查询。不管怎样,您都必须运行自己的函数。。。