我们目前正在使用视图,我必须创建一个允许我们操作和插入数据的视图。但是,该视图仅显示指定年份的数据,因此应仅允许插入和操作此类数据。通过使用with check option
,我们可以确保这一点。
我原来的方法如下:
create view FOO as
select * from BAR
where extract(year from BAR.SOME_DATE) = '2011' with check option;
然而,这不会起作用。我收到以下错误:“SQL错误代码= -203。列的不适当的自引用。”
另一方面,使用时:
create view FOO as
select * from BAR
where BAR.SOME_DATE between '2011-01-01' and '2011-12-31' with check option;
它会起作用。
如果重要,我正在使用Firebird 2.5。
我完全不知道为什么会这样,所以我很感激每一个帮助。提前谢谢!