如果表达式为空,PostgreSQL怎么办?

如果表达式为空,PostgreSQL怎么办?,postgresql,Postgresql,我试图创建一个条件Select语句,如果表不存在,它将创建一个表,但由于某种原因,这似乎不起作用 IF SELECT to_regclass('public.entityName') IS NULL BEGIN CREATE TABLE |entityName| (....) END END IF 您可以使用此选项返回真/假: SELECT EXISTS ( SELECT 1 FROM pg_tables WHERE schemaname = 'sch

我试图创建一个条件Select语句,如果表不存在,它将创建一个表,但由于某种原因,这似乎不起作用

IF SELECT to_regclass('public.entityName') IS NULL
BEGIN
    CREATE TABLE |entityName| 
        (....)
END
END IF

您可以使用此选项返回真/假:

SELECT EXISTS 
(
  SELECT 1 
  FROM pg_tables
  WHERE schemaname = 'schema'
  AND tablename = 'table'
);
希望能有所帮助

我结束了这件事

CREATE TABLE IF NOT EXISTS public.name
    (...);

我在找一张表,不是数据库@Chechoczi你的骆驼箱桌子在哪?比如“我的桌子”?在这种情况下,应该将表名用双引号括起来。你试过了吗?它是小写的。。。我只是想看看它是否存在,如果没有创建它,我将用解决方案编辑答案。希望有帮助…如果不存在我需要触发什么?那我该怎么做呢@chechocz如果不存在,为什么不简单地使用
创建表
?@a_horse_和_no_name我最后做了什么:)