テーブルから追加の「計算済み」フィールドを含むSELECT *
クエリを作成しました。SQL ServerのビューでINSERT INTOを実行するとカスタムフィールドが無視される
このビューを使用してデータを選択し、このビューを使用してデータを挿入できるアプリケーションがあります。 ビューの代わりにテーブルを使用してINSERTを行うようにアプリケーションに指示することはできませんが、SQL ServerはビューのINSERTを処理できます。
ただし、この場合、アプリケーションは挿入を行うときに、ビューのすべてのフィールドを自動的に追加してINSERTに追加します。 したがって、計算されたフィールドのINSERTのために挿入クエリが失敗します。
「リスナー」のようなものをINSERTのビューに追加して、INSERTクエリの一部のフィールドを無視または削除することはできますか?
おかげ
理由だけではなく、アプリケーションのINSERTで必要な列を指定していませんか?アプリケーションのコードは何ですか?私はあなたが尋ねているものは、ビューで可能であるとは思わない、それはsprocである必要があります。 –
ビューの作成にselect *を使用しないでください。基になるテーブル定義が変更されたらどうなりますか?そして誰があなたがビューに挿入できないと言っているのですか? – scsimon
'SELECT *'は単純な説明のためのものです。私はアプリケーションコードにアクセスすることはできません。 – Seb33300