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。
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。