【发布时间】:2018-08-26 13:15:55
【问题描述】:
我有一个如下所示的存储过程:
create function search_contacts
(_name text, _phone text, _email text, _address text, _threshold real)
returns setof contact
as $func$
declare
_id uuid := uuid_generate_v4();
begin
insert into _contact_index_tmp
select...;
insert into _contact_index_tmp
select...;
return query select c.* from _contact_index_tmp tmp left join
contact c
on tmp.guid = c.contact_guid and tmp.query_id = _id;
delete from _contact_index_tmp tmp
where tmp.query_id = _id;
return;
end
$func$
language plpgsql;
我得到了我想要的结果(来自 return 查询语句),但最终的 delete 语句没有被执行,我用它来清理我的临时表。如何确保执行此操作?
【问题讨论】:
标签: sql postgresql plpgsql sql-delete sql-function