コンテンツにスキップ
SQLファイルの実行

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.
最終更新日