同じ名前のテーブルの代わりに、ビュー (foo) を設定しています。新しいビューは、元のテーブルの代わりに 3 つのサブテーブル (A、B、C) を使用します。これを実現するために、代わりのトリガーを使用しています。
CREATE VIEW [dbo].[foo]
AS
select
b2 as oldkey,
b3 as boat,
c2 as state,
a2 as name
from
A
join B on a1 = b1
join C on a1 = c1
foo 列: oldkey (ID) | ボート | 状態 | 名前
私の問題は、次のように foo に挿入するように記述された大きなコード ベースがあることです。
insert into foo
values
('fishing boat', 'California', 'Skipper')
しかし、挿入/ビューの代わりにキー値も提供されることを期待しているため、このコードは現在機能していません。キー値はテーブル B の ID であるため、挿入する必要はありません。
エラー: 「列名または指定された値の数がテーブル定義と一致しません。」
既に存在する挿入のコード ベースが引き続き機能するようにするには、どのような変更を加える必要がありますか?