ClickHouse/docs/ja/sql_reference/table_functions/input.md
2020-04-04 12:15:31 +03:00

2.2 KiB

machine_translated machine_translated_rev toc_priority toc_title
true d734a8e46d 46 入力

入力

input(structure) -テーブル関数に送信されたデータを効果的に変換して挿入できるようにする 別の構造を持つテーブルに与えられた構造を持つサーバー。

structure -次の形式でサーバーに送信されるデータの構造 'column1_name column1_type, column2_name column2_type, ...'. 例えば, 'id UInt32, name String'.

この関数は、以下でのみ使用できます INSERT SELECT query and only once but otherwiseは通常のテーブル関数のように動作します (たとえば、サブクエリなどで使用することができます。).

データを送ることができ、そのような通常の INSERT 利用できる照会および渡される 書式 これは、クエリの最後に指定する必要があります(通常とは異なり INSERT SELECT).

この機能はサーバからデータを受け取clientで同時に変換して 式のリストによると、 SELECT ターゲットテーブルに句と挿入します。 一時テーブル すべての転送されたデータは作成されません。

  • させる test テーブルには以下の構造 (a String, b String) とデータで data.csv 異なる構造を持っています (col1 String, col2 Date, col3 Int32). 挿入のクエリ からのデータ data.csvtest 同時変換のテーブルは次のようになります:
$ cat data.csv | clickhouse-client --query="INSERT INTO test SELECT lower(col1), col3 * col3 FROM input('col1 String, col2 Date, col3 Int32') FORMAT CSV";
  • もし data.csv 同じ構造のデータを含む test_structure としてのテーブル test そしてこれら二つのクエリが等しい:
$ cat data.csv | clickhouse-client --query="INSERT INTO test FORMAT CSV"
$ cat data.csv | clickhouse-client --query="INSERT INTO test SELECT * FROM input('test_structure') FORMAT CSV"

元の記事