[英]postgres function is not executing properly
在這里我用過這樣但不起作用請給我提供解決方案
IF 'select topic1 from tblscmipklimipcmapprovalio2269 t except select miptopic1 from tblmiptopic1master tm' THEN
BEGIN
topic := topic1;
execute 'insert into tblmiptopic1master (miptopic1 , createdby , createdon , updatedby , updatedon , active) values
(topic,22,'',55,'',1)';
END;
```
insert into tblmiptopic1master
(miptopic1, createdby, createdon, updatedby, updatedon, active)
select topic1, 22, '', 55, '', 1
from tblscmipklimipcmapprovalio2269 t
where not exists (
select * from tblmiptopic1master nx
where nx.miptopic1 = t.topic1
);
如果您希望主題唯一,那么您應該讓數據庫控制數據完整性:
alter table tblmiptopic1master add constraint unq_tblmiptopic1master_miptopic1
unique (miptopic1);
然后,您可以將insert
為:
insert into tblmiptopic1master (miptopic1, createdby, createdon, updatedby, updatedon, active)
select topic1, 22, '', 55, '', 1
from tblscmipklimipcmapprovalio2269 t
on conflict (miptopic1) do nothing;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.