SQLExecute
SQLExecuteを使うと,SQL文を実行することができる.SQL文はデータの選択,表の作成,データの挿入,データの更新,データの削除,表の削除に使える.SQLExecuteで使用する文は,すべての引数を含むことのできる文字列である.しかし引数を別々に与えて準備文にすることもできる.SQLExecuteは異なる引数の準備文のバッチでの実行に使用することもできる.これについては「バッチ操作」に記載されている.
| SQLExecute[conn,statement,opts...] | SQL文を実行する |
| SQLExecute[conn,statement,{args...},opts...] | 準備文に引数を与えて実行する |
| SQLExecute[conn,statement,{{args...}...},opts...] | 準備文に異なる引数を与えてバッチで実行する |
次のセクションでは,異なるタイプの操作を実行するSQL文の使い方について述べる.
SQLExecuteには数多くのオプションが使える.
オプション名 | デフォルト値 | |
| "GetAsStrings" | False | 結果を文字列として返す |
| "MaxRows" | Automatic | 結果の最大行数を設定する |
| "ShowColumnHeadings" | False | 結果とともに見出しを返すかどうか |
| "Timeout" | Automatic | クエリのタイムアウトを設定する |
SQLExecuteのオプション
これらのオプションの例を以下に示す.DatabaseLink をロードしてdemoデータベースに接続する.このチュートリアルの例を実際に試してみて,記載の通りに動作しなかった場合は,「データベースの例の使用」 で述べているように
パッケージを使ってデータベースをもとの状態に戻す必要があるかもしれない.
| In[1]:= |
オプション
を使うと,データを Mathematica 型に変換しないで取り出すことができる.
| In[3]:= |
Out[3]//InputForm= | |
| In[4]:= |
| Out[4]= |
| In[5]:= |
Out[5]//TableForm= | |
![]() | |
オプション
を使うと,実行に時間がかかりすぎるクエリをキャンセルすることができる.
| In[6]:= |
SQLスタイルのクエリにおける引数の列
複数の値の列を保管しているSQL文で引数が1つだけ必要なときは,SQLArgumentが使える.これは多くの列を持つ表の選択と挿入に特に便利である.選択の際は,複数の表と列が動的に選択でき,挿入の際は複数の列の値が動的に指定できる.
| SQLArgument | コマンドへの引数の列 |
これを例示するために,DatabaseLink をロードし,publisherデータベースに接続する.
| In[7]:= |
SQLArgumentを使って選択クエリが実行できます.以下の文で2つの引数を引数
としてどのように参照しているかに注目されたい.この方法により個々の引数に番号を付ける必要がなくなるため,文が簡単になる.
| In[9]:= |
| Out[9]= | ![]() |
| In[10]:= |
SQLArgumentは Mathematica ベースのクエリではサポートされていないことにも注意されたい.



