Exception PostgreSQL



我想在id_abonnement=3时更新表abonnement中的列topic。为此,当数据库中不存在id_abonnement=3时,我想做一个例外。

我正在尝试类似的东西:

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;
$$

有什么解决方案吗?!

我找到了一个解决方案。就这么简单:

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;

$$

最新更新