2017-07-16 92 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執行,它將不起作用。