我正在设置一个视图 (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(身份)| 船| 高分辨率照片| CLIPARTO 状态 | 姓名
我的问题是我有一个大型代码库,它被写入 foo ,如下所示:
insert into foo
values
('fishing boat', 'California', 'Skipper')
但是此代码当前无法正常工作,因为 insert-of-insert/view 也希望提供键值。键值是表 B 上的标识,所以我不需要插入它。
错误:“列名或提供的值的数量与表定义不匹配。”
我需要进行哪些更改以允许已经存在的插入代码库继续运行?