DatabaseLink チュートリアル

生SQLを使ったデータの更新

生SQLコマンドUPDATEは,データベースのデータの更新に使います.これはデータの更新に記載のように,Mathematica コマンドSQLUpdateでもできます.
このチュートリアルの例を実際に試してみて,記載の通りに動作しなかった場合は,データベースの例の使用で述べているようにDatabaseExamples`パッケージを使ってデータベースをもとの状態に戻す必要があるかもしれません.
データの更新の際,SQLExecuteの結果はクエリの影響を受ける行数を示す整数となります.
以下でデータを更新する例を示します.DatabaseLink をロードし,demo データベースに接続します.
In[1]:=
Click for copyable input
生SQLを使った表の作成の例で述べたように,表ADDRESSESMAILER が作られます.
In[3]:=
Click for copyable input
SQL文を実行して表MAILER の行を更新します.このクエリはUSERNAME の値に基づいて列SENDMAILER を更新します.多くの更新文は列の値に作用する条件を使って作られます.
In[7]:=
Click for copyable input
Out[7]=
SELECT文を使って表のデータが変更されたことを確認します.
In[8]:=
Click for copyable input
Out[8]=
準備文を使って,データベース内のデータを更新するSQL文を動的に作ることができます.このSQL文は簡単なMathematica 関数と結合できます.次の例では特定のユーザの住所を更新します.
In[9]:=
Click for copyable input
In[10]:=
Click for copyable input
Out[10]=
表のデータが変更されたことをSELECT文で確認します.
In[11]:=
Click for copyable input
Out[11]=
データの挿入に適用されるのと同じ制限が,データの更新にも適用されます.従ってADDRESSの値を他の行のADDRESSの値と同じになるように更新しようとすると,エラーが返されます.表の中では値は重複できません.
In[12]:=
Click for copyable input
Out[12]=
表を削除して接続を閉じます.
In[9]:=
Click for copyable input