Vertica 数据库临时 table

Vertica database temporary table

CREATE LOCAL TEMP TABLE DOMAINS_FLAG1 (data1 VARCHAR, data2 VARCHAR,data3 VARCHAR,data4 VARCHAR);
INSERT INTO  DOMAINS_FLAG1
SELECT country,customer,phone_number,count(phone_number) from table1 
where  CAST(create_dt as DATE) = CURRENT_DATE-1
and status='COMPLETED' and ac_tion ='CHARGE' 
GROUP BY country,customer,phone_number;
SELECT * FROM DOMAINS_FLAG1;

我尝试创建一个临时文件 table 并使用 select 语句将一些数据插入到临时文件 table 中,但它似乎不起作用。

我得到的结果你可以从下面的截图中看到。 RESULT

updated rows = 0 but query below give me 169919 result

SELECT country,customer,phone_number,count(phone_number) from table1 
where  CAST(create_dt as DATE) = CURRENT_DATE-1
and status='COMPLETED' and ac_tion ='CHARGE'

使用create table as怎么样?

CREATE LOCAL TEMP TABLE DOMAINS_FLAG1 as
SELECT country, customer, phone_number, count(phone_number) as cnt
FROM table1 
WHERE CAST(create_dt as DATE) = CURRENT_DATE-1 AND
      status = 'COMPLETED' AND ac_tion = 'CHARGE' 
GROUP BY country, customer, phone_number;

SELECT * FROM DOMAINS_FLAG1;

您的连接可能是使用 AUTOCOMMIT 设置的。

提交时,默认情况下,临时 table 会丢失其行。

查看 Vertica 文档:

您需要在 CREATE TABLE 语句的末尾添加 ON COMMIT PRESERVE ROWS。