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

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

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

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

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

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

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

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

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

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

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

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

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

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