問37 更新可能なビューの定義はどれか。ここで、ビュー定義の中で参照する表はすべて更新可能とする。

ア create view view1(sno,pno)
	as select distinct spj.sno,spj.pno
		from spj

イ create view view2(sno,pno)
	as select spj.sno,spj.pno
		from spj
		group by spj.sno,spj.pno

ウ create view view3(sno,status,city)
	as select select s.sno,s.status,s.city
		from s
		where s.status>15

エ create view view4(scity,pcity)
	as select s.city,p.city
		from s,spj,p
		where s.sno=spj.sno
		and spj.pno=p.pno

解答はウです。

distinctを使用した場合は更新できません。
ア create view view1(sno,pno)
	as select distinct spj.sno,spj.pno
		from spj

グループ化・集計関数を使用した場合は更新できません。
イ create view view2(sno,pno)
	as select spj.sno,spj.pno
		from spj
		group by spj.sno,spj.pno

2つ以上の表を結合している場合は更新できません
エ create view view4(scity,pcity)
	as select s.city,p.city
		from s,spj,p
		where s.sno=spj.sno
		and spj.pno=p.pno

inserted by FC2 system