2014-01-15 25 views
2

我有一個Access 2010的'前端'數據庫,其數據存儲在SQL Server數據庫的後端。'我試圖編寫最簡單的UPDATE查詢,我可以遇到這個錯誤:'操作必須使用可更新的查詢。'我QRY代碼:使用SQL Server數據庫訪問10'操作必須使用可更新查詢'

UPDATE tblTableLastModifiedDates SET LastModified = NOW() 
WHERE id='1'; 

很多這樣的DB的成立之前,我得到這個工作,所以是喑啞的表名是不是我的錯。此外,我檢查了tblTableLastModifiedDates,它實際上沒有PK,我一直無法創建一個。我不確定這是否是問題。

在我放棄所有這些並開始它(以正確的方式)之前,我想我會問是否有人知道如何解決這個錯誤。

回答

1

此錯誤意味着tblTableLastModifiedDates是不足以更新基礎表中的LastModified字段的視圖。這並不罕見。

最好的辦法是對基礎表執行UPDATE

+0

那麼,LastModified郵票的參考數據也是如此?我應該避免使用tblTableLastModifiedDates嗎? 對不起,我不明白這是什麼意思:「一個視圖不足以更新基礎表中的LastModified字段。」 – Couchcommando

+0

@Couchcommando,'tblTableLastModifiedDates'是一個邏輯上的'View'。這意味着它是一個「SELECT」語句,它產生一個結果集並且是一組表。有時候'View'實際上是可更新的,但是有時候結果集會有重複,或者您嘗試更新的記錄的主鍵字段從結果集中丟失。這使得'View'只讀。我建議只更新底層表(表'LastModified'實際上來自*)。 –

+0

我用你的建議並將信息存儲在底層表中。謝謝! – Couchcommando

相關問題