DatabaseLink`
DatabaseLink`
SQLExecute
SQLExecute[conn,command]
SQL接続でコマンドを実行する.
SQLExecute[conn,command,args]
コマンドに引数を渡す.
SQLExecute[SQLSelect[conn,...]]
conn の開閉を管理する.
詳細とオプション
- SQLExecuteを使うためには,まずNeeds["DatabaseLink`"]を使って DatabaseLink をロードする必要がある.
- この関数はデータを削除して元に戻せなくなることがあるため,使用には十分な注意が必要.
- オプションのサポートと動作はドライバ,ドライバのバージョン,RDBMSタイプによって異なる.
- クエリの影響を受ける行数を指定する整数を返す.表の削除の際にエラーが生じたら$Failedを返す.
- 使用可能なオプション
-
"ColumnSymbols" None 結果に関連付けるシンボル "EscapeProcessing" True エスケープされたJDBC関数シンタックスを変換する "FetchSize" Automatic JDBCドライバへの結果セットの大きさの提示 "GetAsStrings" False すべての結果を文字列として返す "GetGeneratedKeys" False 更新されたレコードに関連付けられたキーを返す "MaxFieldSize" Automatic 可変長の列のタイプのバイト制限 "MaxRows" Automatic 返される最大行数 "ShowColumnHeadings" False 結果とともに列見出しを返すかどうか "Timeout" $SQLTimeout クエリのタイムアウト "BatchSize" 1000 パラメータを伴うクエリはこのサイズのバッチごとに処理される "JavaBatching" True Wolfram言語層の代りにJava層でパラメータのバッチ処理を行う
例題
すべて開くすべて閉じる例 (1)
このセクションの例を実際に試してみて,記載の通りに動作しなかった場合は,データベースの例の使用で述べているようにDatabaseLink`DatabaseExamples`パッケージを使ってデータベースをインストールするか,もとの状態に戻す必要がある可能性がある.
スコープ (5)
データの選択 (1)
表の作成 (1)
日付と時刻の使用 (1)
日付と時刻のデータは,DateObject,TimeObject,またはSQLDateTimeを使って与えることができる.コラムタイプがDATE,TIME,DATETIME である表を作成する:
選択された日付と時刻は頭部SQLDateTimeで返される:
オプション (11)
"ColumnSymbols" (1)
"EscapeProcessing" (1)
JDBCの仕様は,クエリを作成するためのエスケープ呼出しシーケンスを定義する.そうでなければ業者特有のSQLが必要となる."EscapeProcessing"オプションを設定して,定義されたエスケープシンタックスを使用する:
このRDBMSにネイティブのSQLはエスケープ処理をしないでも使用できる:
JDBC 4.0の仕様のセクション13.4には,エスケープ処理とサポートされている関数の詳細情報が含まれている.
"FetchSize" (1)
"MaxFieldSize" (1)
"BatchSize" (1)
考えられる問題 (1)
バッチ操作で生成されたキーを取り出すのは,ドライバとRDBMSに依存する動作である.多くの場合,最後に生成されたキーが返される:
パラメータ化されたSQLExecuteをこのRDBMSとドライバで使う場合は,最後に生成されたキーだけが返される: