2016-01-13 68 views
0

我正在使用Apache Phoenix,我試圖生成一堆測試數據,以便測量性能。我想知道是否有方法使用一個UPSERT語句插入多行。Apache Phoenix - 用一條upsert語句插入多行

我想鳳凰相當於該Oracle SQL語句:

insert into test_table (col_a,col_b) 
select dbms_random.value(1,10), dbms_random.value(1,10) 
from dual 
connect by level <= 10; 

如果不是我喜歡使用CSV文件或創建一個程序來爲我做多UPSERTs一些更多的選擇。

+0

如果我的答案解決了您的問題,請點擊大號複選框將其作爲答案。 – IgorekPotworek

回答

1

是的,有Upsert選擇聲明。

例子:

UPSERT INTO test.targetTable(col1, col2) SELECT col3, col4 FROM test.sourceTable WHERE col5 < 100 
UPSERT INTO foo SELECT * FROM bar; 

欲瞭解更多詳情,請查看Apache的鳳凰官方文檔link

0

我遇到過類似的問題,而我的鳳凰表來創建測試數據。相反,我使用了一個到Phoenix的JDBC連接,然後將行插入到我的表中。是插入到phoenix中的選項是upsert,如果行鍵存在則基本更新,否則插入行鍵不存在。