DatabaseLink チュートリアル

生SQLを使ったデータの削除

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