0
我想使用“SELECT table myTable As SELECT ...”在PostgreSQL中的select查询中创建表。问题是它总是会创建一个表,即使查询返回null。我知道我可以使用“SELECT Exist(从myTable中选择1)”来确定表是否为空。我的问题是,我可以将这两个SQL命令组合到一个查询中,检查结果是否为空,然后创建表。当查询结果为非空时,从查询结果创建表
我想使用“SELECT table myTable As SELECT ...”在PostgreSQL中的select查询中创建表。问题是它总是会创建一个表,即使查询返回null。我知道我可以使用“SELECT Exist(从myTable中选择1)”来确定表是否为空。我的问题是,我可以将这两个SQL命令组合到一个查询中,检查结果是否为空,然后创建表。当查询结果为非空时,从查询结果创建表
您可以尝试使用下面的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执行,它将不起作用。