簡體   English   中英

postgres 函數沒有正確執行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM