我有一个非常长的清洁程序,其中包括1000次"替换"。 我把它保存在一个单独的文件中。 所有其他进程在另一个查询中定义。 我想从主查询中执行清理文件。 这可能吗?怎么做?
实施例: 主查询文件
create table a as
select * from b;
--a lot of other stuff--
execute cleaning query here!! -- I want to execute the cleaning query within my main query
-- cleaning query looks as follows (don't want to paste this into main query):
create table a_ as
select *, replace(replace(replace(...(a1
, 'WORD1', '')
, 'WORD2', '')
, 'WORD3', '')
... from a ;
-- end of cleaning query
--again a lot of stuff --
答案 0 :(得分:0)
我建议您使用触发器。 PostgreSqlDocumentation: trigger
触发器允许您调用函数(查询);你也可以为每一行声明 ,这样你就可以写一个只引用一个通用行的查询,而不是触发器将它应用到表的每一行(你也可以要求条件得到满足)