SQLファイルの実行
machbase-neo shell run <file>コマンドは、指定したファイル内の複数のコマンドを順に実行します。
スクリプトファイルの作成
以下のようなサンプルのスクリプトファイルを作成します。
cat batch.sh
#
# コメントは `#` または `--` で始めます。
# 文の末尾にセミコロン `;` を付けます。
#
-- Count 1
SELECT count(*) FROM EXAMPLE WHERE name = 'wave.cos';
-- Count 2
SELECT count(*) FROM EXAMPLE
WHERE name = 'wave.sin'
;スクリプトファイルの実行
machbase-neo shell run batch.sh実行結果
SELECT count(*) FROM EXAMPLE WHERE name = 'wave.cos'
┌────────┬──────────┐
│ ROWNUM │ COUNT(*) │
├────────┼──────────┤
│ 1 │ 2175 │
└────────┴──────────┘
a row selected.
SELECT count(*) FROM EXAMPLE
WHERE name = 'wave.sin'
┌────────┬──────────┐
│ ROWNUM │ COUNT(*) │
├────────┼──────────┤
│ 1 │ 8175 │
└────────┴──────────┘
a row selected.対話モードでの実行
$ machbase-neo shell
machbase-neo» run ./b.sh;
SELECT count(*) FROM EXAMPLE WHERE name = 'wave.cos'
┌────────┬──────────┐
│ ROWNUM │ COUNT(*) │
├────────┼──────────┤
│ 1 │ 2175 │
└────────┴──────────┘
a row selected.
SELECT count(*) FROM EXAMPLE
WHERE name = 'wave.sin'
┌────────┬──────────┐
│ ROWNUM │ COUNT(*) │
├────────┼──────────┤
│ 1 │ 8175 │
└────────┴──────────┘
a row selected.実行可能なスクリプトの作成
スクリプトファイルの先頭行にshebang(#!)を追加します。
#!/usr/bin/env /path/to/machbase-neo shell run
-- Count 1
SELECT count(*) FROM EXAMPLE WHERE name = 'wave.cos';
-- Count 2
SELECT count(*) FROM EXAMPLE WHERE name = 'wave.sin';次に、chmodで実行権限を付与します。
$ chmod +x batch.shスクリプトを実行します。
$ ./batch.sh
SELECT count(*) FROM EXAMPLE WHERE name = 'wave.cos'
┌────────┬──────────┐
│ ROWNUM │ COUNT(*) │
├────────┼──────────┤
│ 1 │ 2175 │
└────────┴──────────┘
a row selected.
SELECT count(*) FROM EXAMPLE WHERE name = 'wave.sin'
┌────────┬──────────┐
│ ROWNUM │ COUNT(*) │
├────────┼──────────┤
│ 1 │ 8175 │
└────────┴──────────┘
a row selected.最終更新日