2016-08-03 5 views
0

id_abonnement=3の場合はのテーブルabonnementを更新したいと思います。このため、私は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

私は別のテーブルを作成することはできません!私は1つのテーブルを使用し、私が説明するように確認する必要があります – 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; 

$$

関連する問題