1

いくつかのデータベース テーブルをアーカイブするタスクがあります。すべてを簡素化するために、基本的に次のことを行う必要があります。

  1. いくつかの条件に基づいて、テーブル 1 からいくつかの行を取得します
  2. これらの行をバックアップ データベースのテーブルに挿入します
  3. これらの行をテーブル 1 から削除します

これらの操作を複数のテーブルで実行する必要があります。

この記事では、さまざまな CRUD 操作 (CRUD ごとに 1 つ) に基づいて個別の SP を作成するように指示しています。ご覧のとおり、実行する必要がある手順はREADUPDATE、およびDELETEです。次に、記事に基づいて、テーブルごとに 3 SP が必要になります。バックアップが必要なテーブルが 10 個ある場合、30 個の SP を作成する必要がありますか?

これが正しい慣行であるかどうか誰かに教えてもらえますか?

ありがとう。

4

2 に答える 2

0

実行したいある種の関数の概要を示すストアドプロシージャについて考えてみます。テーブルにデータをアーカイブしようとしているので、ストアドプロシージャdbo.Archive_Table1を呼び出します。「Archive_」は、プロシージャの操作を示すプレフィックスであり、サフィックスは、操作する1つまたは複数のオブジェクトです。

簡単な例として、すべて自動車に関するデータに関連するいくつかのテーブルにデータをアーカイブするとします。dbo.Make、dbo.Model、dbo.Salesなど。これらすべてのテーブルに作用するdbo.Archive_Carsという単一のストアドプロシージャを作成できます。それはあなたが何をしようとしているのかを見ている人に伝えるのに十分冗長です。

新しいストアドプロシージャで、好きなことを自由に行ってください。挿入と削除を一緒に行ってください!30のSPを処理する必要がないので、あなたの生活は1000倍簡単になります。もちろん、後で他のCRUD SPを作成することになるかもしれませんが、必要に応じて作成してください。

質問の概要は完璧です。それをコードに変換するだけで、設定が完了します。

于 2012-08-07T20:18:36.993 に答える