gpt4 book ai didi

sql - 如何在 PostgreSQL 中测试 if 语句?

转载 作者:行者123 更新时间:2023-11-29 11:31:29 29 4
gpt4 key购买 nike

问题:我想在 PostgreSQL 中测试一个 if 语句:

IF (SELECT COUNT(*) FROM pg_language WHERE lanname = 'plpgsql') > 0 THEN
PRINT 'Good'
ELSE
PRINT 'Bad'
END IF;

现在这会在 IF 处引发错误。

据我所知,这是因为我需要使用 plpgsql 才能使用 if、print 和变量。

到目前为止,我可能还必须使用 SELECT 而不是打印。

如何在执行此语句之前切换语言到 plpgsql ?

我想先测试它,然后再将它放入存储过程。用变量等测试代码。


编辑:

解决者:

DO LANGUAGE plpgsql $$
BEGIN
IF (SELECT COUNT(*) FROM pg_language WHERE lanname = 'plpgsql') > 0 THEN
RAISE NOTICE 'GOOD';
ELSE
RAISE NOTICE 'BAD';
END IF;
END;
$$;

最佳答案

如果您只想测试代码片段而不想经历构建和删除函数的所有麻烦,那么您可以使用 DO :

=> do language plpgsql $$
begin
-- Yes, I have a table called pancakes in my playpen database.
if (select count(*) from pancakes) > 0 then
raise notice 'Got some';
else
raise notice 'Got none';
end if;
end;
$$;

您需要 9.0+ 才能使用 DO

关于sql - 如何在 PostgreSQL 中测试 if 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9151863/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com