我想在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;
$$