2017-02-01 15 views
1
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; 

Я попытался создать таблицу temprory и вставить некоторые данные в таблицу temp с помощью оператора select, но, похоже, он не работает.Временная таблица базы данных Vertica

результат, который вы можете увидеть на скриншоте ниже. RESULT

модифицируемые строки = 0 но запрос ниже дать мне 169919 результат

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' 

ответ

0

Возможно, ваше сообщение связано с AUTOCOMMIT.

On Commit, по умолчанию временная таблица теряет свои строки.

Проверьте документацию Vertica:

Вам нужно добавить ON COMMIT СОХРАНИТЬ ROWS в конце CREATE TABLE заявление.

+0

СОЗДАТЬ ЛОКАЛЬНУЮ ТЕМПОВУЮ ТАБЛИЦУ DOMAINS_FLAG1 В КОМИТЕТЕ СОХРАНЕНИЙ ROWS as, добавлено ** ON COMMIT PRESERVE ROWS **, результат получается таким же. –

+0

Ну, тогда ваш запрос не возвращает никаких строк. Попробуйте выполнить «SELECT COUNT (*) FROM () AS foo;'. Вероятно, он вернется 0. – marcothesane

+0

COUNT: 169919 .. –

0

Как насчет использования 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; 
+0

Ряды: 0, Результат: Успех, тот же результат, что и мой предыдущий запрос. –