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 fetched.
SELECT count(*) FROM EXAMPLE WHERE name = 'wave.sin'
ROWNUM COUNT(*)
──────────────────
1 8175
a row fetched.対話モードでの実行
$ machbase-neo shell
machbase-neo» run ./b.sh;
SELECT count(*) FROM EXAMPLE WHERE name = 'wave.cos'
╭────────┬──────────╮
│ ROWNUM │ COUNT(*) │
├────────┼──────────┤
│ 1 │ 2175 │
╰────────┴──────────╯
a row fetched.
SELECT count(*) FROM EXAMPLE WHERE name = 'wave.sin'
╭────────┬──────────╮
│ ROWNUM │ COUNT(*) │
├────────┼──────────┤
│ 1 │ 8175 │
╰────────┴──────────╯
a row fetched.実行可能なスクリプトの作成
スクリプトファイルの先頭行に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 fetched.
SELECT count(*) FROM EXAMPLE WHERE name = 'wave.sin'
ROWNUM COUNT(*)
──────────────────
1 8175
a row fetched.最終更新日