2016-08-03 48 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; 

$$