2016-04-22 5 views
1

私の会社では、データベース機能としてMicrosoft SQL Server Management StudioとT-SQLを使用しています。私のチームが行う1日の活動の1つは、約4k〜5kのレコードを含むビュー内のデータを更新することです。T-SQLでのビューデータの変更

ビューに10個のフィールドがあるとします。したがって、field_1,field_2field_7の値を考慮して、field_5の値を変更することです。私たちはいつも手動で行ってきました。すべての5kレコードを調べ、すべてのフィールドの値をチェックし、必要なフィールドを更新するには、2〜3時間ほどかかります。

私はタスクを自動化してそのスクリプトを作成することを考えましたが、MSDNでは何も見つけられないようです。私が得た最も近いものは、https://msdn.microsoft.com/en-us/library/ms178076.aspxでした。しかし、構造体を保持しながらビュー内のデータを更新するのではなく、ビューの構造体を変更する方法について説明します。さらにグーグルではあまり役に立たなかった。

これを行う方法はありますか?

答えて

3

ビューの定義は何ですか。更新可能なビューの基準を満たしていますか?その場合は、更新ステートメントが必要です。それはあなたの代わりに所望の論理を実装するトリガーの書き込み、まだ更新ステートメントを使用することができ要件を満たしていない場合

簡単な例は、そうでない場合

UPDATE YourView 
SET Field5 = Field1+Field2+Field7 

だろう。

+0

ありがとうございました。それは有望に見えます。私はそれを試してみる。 –

0

あなたは「表示」という言葉を使用しますが、「表」を意味すると思いますか?ビューは動的であり、インデックス付きのビューを除いて実際にはデータを格納しないため、ビューを呼び出すときに特定のコードセットを実行するクエリが格納されます。

あなたがテーブルについて話していると仮定すると、あなたは以下のようなものを探しています。

これは、計算に一致するようにすべての行でfield_5が変更されます。

+3

"view"という言葉が5回指定されたときにテーブルについて話していなければならないという結論に至る理由は分かりません。ビューを使用してデータを変更することができます。https://msdn.microsoft.com/en-GB/library/ms180800.aspx –

+0

実際には、ここでビュー内のデータを更新していますか、ビューを使用して更新していますか。 OPの言葉は、約4-5kレコードのビューがあると信じてくれました。オペレータは最終的なレポートとして、いくつかの値を更新して更新する必要があります。 OPは、「ビューを使用してデータを更新する方法」ではなく、ビューを変更する方法に関するMSDNの記事にもリンクしています。私はこれを間違って理解しているかもしれませんが、私はこれで訂正することができました。私は常に、データを変更するのではなく、データを取得するツールとしてビューを考えました。 –

+1

ビューを使用して更新しています。実際の変更は基本表に書き戻されます。 –

関連する問題