DATABASELINK チュートリアル

生SQLを使ったデータの更新
This feature is not supported on the Wolfram Cloud.

生SQLコマンドUPDATEは,データベースのデータの更新に使う.これは「データの更新」に記載のように,Wolfram言語コマンドSQLUpdateでもできる.

このチュートリアルの例を実際に試してみて,記載の通りに動作しなかった場合は,「データベースの例の使用」で述べているようにパッケージを使ってデータベースをもとの状態に戻す必要があるかもしれない.

データの更新の際,SQLExecuteの結果はクエリの影響を受ける行数を示す整数となる.

以下でデータを更新する例を示す.DatabaseLink をロードし,demoデータベースに接続する.

In[1]:=
Click for copyable input

生SQLを使った表の作成」の例で述べたように,表ADDRESSES,MAILERが作られる.

In[2]:=
Click for copyable input

SQL文を実行して表MAILERの行を更新する.このクエリはUSERNAMEの値に基づいて列SENDMAILERを更新します.多くの更新文は列の値に作用する条件を使って作られる.

In[6]:=
Click for copyable input
Out[6]=

SELECT文を使って表のデータが変更されたことを確認する.

In[7]:=
Click for copyable input
Out[7]=

準備文を使って,データベース内のデータを更新するSQL文を動的に作ることができる.このSQL文は簡単なWolfram言語関数と結合できる.次の例では特定のユーザの住所を更新する.

In[8]:=
Click for copyable input
In[9]:=
Click for copyable input
Out[9]=

表のデータが変更されたことをSELECT文で確認する.

In[10]:=
Click for copyable input
Out[10]=

データの挿入に適用されるのと同じ制限が,データの更新にも適用される.従ってADDRESSの値を他の行のADDRESSの値と同じになるように更新しようとすると,エラーが返されます.表の中では値は重複できない.

In[11]:=
Click for copyable input
Out[11]=

表を削除して接続を閉じる.

In[12]:=
Click for copyable input