我爲一組三個表定製了一個視圖。我如何配置視圖以便可以通過應用程序使用它像表格一樣進行編輯?我正在使用SQL Server Studio Express。SQL Server數據庫 - 允許應用程序編輯視圖中的記錄嗎?
1
A
回答
2
您需要在視圖上創建INSTEAD OF INSERT和INSTEAD OF UPDATE觸發器,然後在觸發器中編寫插入和更新語句以操縱3個基礎表中的數據。見this MSDN article有一個簡單的例子。您可以在觸發器定義的上下文中的特殊INSERTED表中找到所需的編輯值。
5
查看SQL Server中可以updatable, but there are restrictions (CREATE VIEW, Updatable View section):
- 任何修改,包括UPDATE,INSERT和DELETE語句,必須從只有一個基表中的列。
- 在視圖中修改的列必須直接引用表列中的基礎數據。無法通過任何其他方式導出列,例如通過以下方式:
- 集合函數:AVG,COUNT,SUM,MIN,MAX,GROUPING,STDEV,STDEVP,VAR和VARP。
- 計算。該列無法從使用其他列的表達式計算。通過使用集合運算符UNION,UNION ALL,CROSSJOIN,EXCEPT和INTERSECT形成的列相當於計算,並且也不可更新。
- 被修改的列不受GROUP BY,HAVING或DISTINCT子句的影響。
- TOP不在視圖的select_statement的任何位置與WITH CHECK OPTION子句一起使用。
否則,您將不得不使用INSTEAD OF triggers。
相關問題
- 1. 在ASP.Net中編輯SQL Server數據庫中的記錄
- 2. 允許遠程訪問vb.net中的SQL Server數據庫
- 3. SQL Server:根據應用程序用戶記錄數據庫更改
- 4. 允許在SQL Server上備份數據庫嗎?
- 5. SQL Server 2008允許遠程連接嗎?
- 6. Jqgrid查看記錄允許編輯字段編輯
- 7. 允許用戶在C#asp.net應用程序中編輯文本
- 8. 在編輯數據時鎖定SQL Server記錄的模式
- 9. 從C#應用程序安全登錄到SQL Server數據庫
- 10. 允許在Rails應用程序中編輯靜態頁面
- 11. 不允許用戶從查詢中編輯數據庫
- 12. 什麼是SQL Server 2008視圖中允許的最大列數?
- 13. 問題更新/編輯記錄從VB.Net應用程序到Access數據庫
- 14. 當在視圖中編輯記錄時,數據庫表中的字段無效
- 15. PHP - 更新/編輯數據庫表中的數據/記錄
- 16. 更新SQL Server數據庫記錄
- 17. Firebase允許android應用程序連接到您的數據庫
- 18. 應用數據庫更改編輯SQL Server之後
- 19. 從codeigniter編輯數據庫記錄
- 20. EJB 3編輯數據庫記錄
- 21. 編輯MySql數據庫記錄
- 22. 將SQLBulkCopy的大數據集編輯到SQL Server數據庫中
- 23. 在.NET FB應用程序中使用SQL Server以外的數據庫嗎?
- 24. 在SQL Server中編程數據庫
- 25. 更新時,允許空值,將使用SQL Server數據庫記錄存儲過程
- 26. 如何允許IIS應用程序池訪問特定的MS SQL數據庫?
- 27. autosizing sql server數據庫圖視圖
- 28. SQL是數據庫結構中允許的獨立表嗎?
- 29. 使用HTML幫助程序在SQL Server數據庫中創建記錄MVC
- 30. SQL Server不允許我創建應用程序池標識登錄