2016-08-03 53 views
0

我想更新abonnementid_abonnement=3表表中的topic。爲此,我想在數據庫中不存在id_abonnement=3時發生異常。異常PostgreSQL

我想類似的東西:

DO $$ 
    BEGIN 
     BEGIN 
      update abonnement set topic = 'valeurTopic' where id_abonnement = 3; 
     EXCEPTION 
      WHEN "verification of id" THEN RAISE NOTICE 'id=3 not exist'; 
     END; 
    END; 
$$ 

任何解決辦法嗎?!

+0

我無法創建另一個表!我必須使用一張表,並按照我的解釋驗證 – josef

回答

0

我找到了解決辦法。它只是這樣的:

DO $$ 
BEGIN 
    BEGIN 
     IF EXISTS (SELECT * FROM abonnement WHERE id_abonnement=3) 
      THEN 
      UPDATE abonnement set topic= 'valeurTopic' WHERE id_abonnement = 3; 
      RAISE NOTICE 'good operation'; 
     ELSE 
      RAISE NOTICE 'id = 3 not exist'; 
     END IF; 
    END; 
END; 

$$