1

計算列を追加したいテーブルがあります(ユーザーごとに値が異なります-権限に必要です)。
問題は、このテーブルが計算列について何も知らない Microsoft Dynamics NAV の一部であることです。
NAV が作成した後に列の型を変更し、データを読み取ることができるように、NAV をごまかす方法を管理しました。

今、私は挿入物で立ち往生しています。
NAV は null 許容列を使用しないため、常に既定値を挿入しようとし、SQL Server は計算列でエラーで失敗します。
INSTEAD OF INSERT トリガーを書き込もうとしましたが、トリガーを実行する前に SQL Server がチェックを行っているようで、それでもエラーで失敗します。

計算列に挿入された値を SQL Server に強制的に無視させる方法はありますか?

4

1 に答える 1

2

個人的には、サードパーティ アプリケーション、特に金融システムのスキーマを変更するつもりはありません。テーブルを変更する代わりに、計算列の定義を含むビューを作成し、必要に応じて別のデータベースに作成することもできます。その後、INSTEAD OFトリガーをビューに配置し、ビューをINSERT介して実行します。

于 2012-11-29T16:11:31.353 に答える