Show page source of スクリプト統合の使い方 #29324

=== スクリプト統合の使い方/スクリプト統合とは? ===

スクリプト統合は、以下のようなJavaベースのスクリプトをPoorSQL上で実行可能とします。

  * !BeanShell
    http://www.beanshell.org/
  * Groovy
    http://groovy.codehaus.org/
  * Jacl
    http://tcljava.sourceforge.net/docs/website/index.html
  * Jruby
    http://jruby.codehaus.org/
  * BSF Jruby-engine
    http://jakarta.apache.org/bsf/
  * Rhino
    http://developer.mozilla.org/Ja/Rhino
  * Jython
    http://sourceforge.net/projects/jython/
  * Pnuts
    https://pnuts.dev.java.net/

この機能により、クエリの結果をスクリプトで処理するといったことが容易となります。[[BR]]
また、スクリプトエンジンを単独で実行する場合と比較して、以下のようなメリットもあります。[[BR]]
  * DBMSへのセッション管理をPoorSQLに任せられる
  * クエリの結果を容易に利用するための拡張を利用可能
  * PoorSQLの提供するエイリアスも実行可能

以下の例では、「\script start」コマンドでGroovyスクリプトを実行しています。[[BR]]
デフォルトでは、Groovyが標準のスクリプトエンジンに指定されています。

{{{
12:00:00 sql> \script start
12:00:00 $ println "  ハロー, Groovy.";
12:00:00 $ /*<SQL_OUT>ls users</SQL_OUT>*/;
12:00:00 $ \script end
  ハロー, Groovy.
USER     | HOST
---------+----------
moriyama | %
root     | localhost
test01   | %
(3 rows)

Time: 0 ms
}}}

「\script start」コマンドを実行すると、プロンプトが「hh:mm:ss $」に変更され、スクリプトを入力することが可能となります。

「println」はGroovyの文字列を出力するメソッドです。
「/*<SQL_OUT>」と「</SQL_OUT>*/」で囲まれた部分はSQLまたはエイリアスを実行し、結果を出力します。
この機能はPoorSQLによって提供されます。
「\script end」コマンドによって、スクリプトの入力を終了します。
この時点で、スクリプトが解釈され実行されます。

「\script start」に続けて、スクリプトの名前をつけて実行すると、Groovy以外のスクリプトエンジンを実行できます。以下はJrubyを実行しています。
スクリプトの終了は、どのスクリプトエンジンを実行した場合も「\script end」で終了します。

{{{
12:00:00 sql> \script start jruby
}}}

スクリプト統合とは?[[BR]]
[クエリの結果をオブジェクトとしてスクリプトから参照する]へ[[BR]]
[スクリプトエンジンの登録方法]へ[[BR]]
[[BR]]
[FrontPage トップ]へ