当查询结果不为null时,从查询结果创建表

时间:2017-07-16 11:23:45

标签: postgresql create-table

我想使用“SELECT table myTable As SELECT ...”从PostgreSQL中的select查询创建一个表。问题是它总是创建一个表,即使查询返回null。我知道我可以使用“SELECT Exist(从myTable中选择1)”来确定表是否为空。我的问题是,我可以将这两个SQL命令合并到一个查询结果是否为null的查询,然后创建表。

1 个答案:

答案 0 :(得分:1)

您可以尝试使用以下PL / SQL:

DO
$do$
BEGIN
IF EXISTS (SELECT 1 FROM some_table) THEN
    SELECT your_table AS SELECT * FROM some_table
END IF;
END
$do$

请注意,您需要将上述IF语句放入DO块中,或者放入函数中;如果直接从pgAdmin执行,它将无法工作。

相关问题