当查询结果不为空时从查询结果创建 table
Create table from query result when it isn't null
我想使用 "SELECT table myTable As SELECT..." 从 PostgreSQL 中的 select 查询创建一个 table。问题是它总是创建一个 table 甚至查询 returns null。我知道我可以使用 "SELECT Exist(select 1 from myTable)" 来确定 table 是否为空。我的问题是,我能否将这两个 SQL 命令组合到一个查询中,检查结果是否不为空,然后创建 table。
您可以尝试使用以下 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 执行,它将不起作用。
我想使用 "SELECT table myTable As SELECT..." 从 PostgreSQL 中的 select 查询创建一个 table。问题是它总是创建一个 table 甚至查询 returns null。我知道我可以使用 "SELECT Exist(select 1 from myTable)" 来确定 table 是否为空。我的问题是,我能否将这两个 SQL 命令组合到一个查询中,检查结果是否不为空,然后创建 table。
您可以尝试使用以下 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 执行,它将不起作用。