環境:SQLServer 2008 R2
問題:對視圖或函數’XXX’的更新或插入失敗,因其包含派生域或常量 域解決
創建視圖命令:
create view D_S_G(sno,avg_grade) as select sno,avg(grade) from SC group by sno;
原因:視圖view不允許修改。
解決:重新創建一個表,結構內容都一樣。
執行以下命令:
--d_s_t是表名,d_s_g是視圖名 select * into d_s_t from d_s_g where 1<>1 insert into d_s_t select * from d_s_g
說明:表名(d_s_t)和以前的表名、視圖名不一樣,因 為都是SQLServer對象。
解釋:因為所創建的視圖對其屬性值進行了計算的其他形式上的改變,而對 視圖的更改最終表現為對表的更改而表中不存在視圖的某一屬性,或屬性的性質不相同,則無法更改,這是一 種視圖機制。