clickhouse で連続してクエリを実行しようとしたところ、処理が失敗してしまったのでその時の回避方法をここにメモします。
エラー
以下のように、2つのクエリをセミコロンで繋げて処理するとエラーになってしまいます。
:) select 1; select 2 Syntax error (Multi-statements are not allowed): failed at position 9 (end of query): select 1; select 2
原因
ClickHouse の公式ドキュメントによると、標準SQLのようにセミコロンで区切ったマルチステートメントはサポートされていないとのことでした。
回避策
--multiquery オプション
clickhouse-client を使用して、以下のように複数のクエリを連続して実行することが可能です。
$ clickhouse-client --multiquery --query="select 1; select 2" 1 2