2017-07-16 100 views
0

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

回答

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执行,它将不起作用。