DATABASELINK チュートリアル

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

生SQLコマンドDELETEは,データベースからデータを削除するときに使う.これは「データの削除」に記載のように,Wolfram言語コマンドSQLDeleteでもできる.

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

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

以下にデータの削除の例を示す.DatabaseLink をロードし,demoデータベースに接続する.

In[1]:=
Click for copyable input

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

In[2]:=
Click for copyable input

表ADDRESSESの内容は次のようになっている.

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

表MAILERの内容は次のようになっている.

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

以下は表MAILERの行を削除するSQL文を実行する.列SENDMAILERの値が0またはFalseである行をすべて削除する.削除文は列の値に応じた条件を使って作成できる.1行削除されるため,結果は1となる.

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

SELECT文はテーブルでデータが変更されたことを検証する.

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

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

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

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

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

表の値に対する制限と同じ制限が,データの削除にも適用される.したがって,表MAILERの項目が参照しているADDRESSの値を削除しようとすると,エラーが返される.

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

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

In[14]:=
Click for copyable input