1

同じ名前のテーブルの代わりに、ビュー (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 であるため、挿入する必要はありません。

エラー: 「列名または指定された値の数がテーブル定義と一致しません。」

既に存在する挿入のコード ベースが引き続き機能するようにするには、どのような変更を加える必要がありますか?

4

1 に答える 1