我創建使用2列的視圖從我Employee
表這樣SQL Server視圖 - 衍生日期列
Create VIEW [dbo].[vwTestEmp] AS
select
EMpID,
case when (Address1 IS null) then null
when (Address1 IS not null) then Address1
end as "EMpAddress",
'' as "Date_Verified"
FROM Employee;
現在Date_Verified
不在Employee
表,所以在視圖中派生列,幷包含空值。某些工序的人工驗證後,我想打電話給
update [dbo].[vwTestEmp]
set Date_verified = GETDATE()
where EMpid = 60;
,因爲它包含派生或恆定場,我得到一個錯誤
更新或視圖或函數「vwTestEMp」插入失敗。
如何處理這個錯誤?
感謝 MR
你知道一個非索引視圖並不實際存儲數據嗎?那麼你的更新聲明實際上會做什麼? –
這個日期可能會在更新完成和表中的任何差異時被查看,我們可以找出使用日期。 – user2726975
我不認爲你很理解什麼是觀點。 **它不存儲數據。** –