我想在该视图中创建视图我想插入记录或基于特定条件更新记录,因此我们可以在SQL视图中插入或更新。我们可以在视图中插入或更新语句吗?SQL视图中的DML语句
-2
A
回答
1
简答:是的。但是有限制。
例如:(来自http://msdn.microsoft.com/en-us/library/ms180800(v=sql.90).aspx截取)
的任何修改,包括UPDATE,INSERT和DELETE语句,必须只从一个基本表中的列。
视图中正在修改的列必须直接引用表列中的基础数据。它们不能以任何其他方式导出,例如:
- 集合函数(AVG,COUNT,SUM,MIN,MAX,GROUPING,STDEV,STDEVP,VAR和VARP)。 2.计算;该列不能使用其他列的表达式进行计算。使用集合运算符(UNION,UNION ALL,CROSSJOIN,EXCEPT和INTERSECT)形成的列相当于一个计算,并且也不可更新。
被修改的列不能被GROUP BY,HAVING或DISTINCT子句影响。
当指定WITH CHECK OPTION时,TOP不能在视图的select_statement中的任何位置使用。
的sooo ...如果它是一个相对简单的insert
或update
你想实现的话,那是非常可能的 - 但更复杂的查询(和视图),则越难。
如果可以的话,我还会提供一些反对的建议 - 在我看来,它增加了一层不必要的复杂性,并且(作为必须解开其他使用此过程的查询的人员),真的很痛苦保持。
+0
“我的问题是我们可以在视图中插入或更新语句”。正确的答案是否定的!您正在回答有关插入或更新语句是否可以将视图作为目标的不同问题。 –
0
不,您不能在视图中使用插入或更新语句。请参阅文档为CREATE VIEW
CREATE VIEW [ schema_name . ] view_name [ (column [ ,...n ]) ]
[ WITH <view_attribute> [ ,...n ] ]
AS select_statement
[ WITH CHECK OPTION ] [ ; ]
它强制执行,该定义必须是SELECT
声明。
相关问题
- 1. SQL视图(如果语句)
- 2. SQL视图语句连接
- 3. Oracle:检查dml语句
- 4. BigQuery INSERT DML语句限制
- 5. 在视图后面获取sql语句
- 6. 删除既可以是DDL语句又可以是DML语句
- 7. Sql Server - 获取现有视图的视图创建语句
- 8. oracle 8i中dml语句中的函数替换
- 9. SQL语句中的Where语句中的IF语句
- 10. 如何找到在MySQL中创建视图的SQL语句?
- 11. where语句中的case语句 - SQL Server
- 12. SQl if where语句中的语句
- 13. 如何提高此DML语句中的性能?
- 14. 从Grails中的Domain类生成DML语句(插入)
- 15. 更改MySQL视图中的select语句
- 16. 视图错误中的条件语句
- 17. SQl语句来监视SQL Server锁
- 18. 用语句创建视图
- 19. 列表视图if语句
- 20. 在同一视图中调用多个SQL语句表
- 21. Howto在另一个SELECT语句(SQL Server)中调用视图?
- 22. SQL语句中加入语句后的case语句
- 23. DDL语句针对删除插入在DML触发器中
- 24. 如何在插入DML语句中使用对象类型?
- 25. 在case语句中选择语句sql
- 26. 把WHERE语句放在SQL语句中
- 27. SQL语句选择语句
- 28. if语句在视图中显示html.actionlink
- 29. 在Razor视图中使用#pragma语句
- 30. SQL视图 - Where子句
您似乎已经忘记提问... –
我的问题是我们可以插入或更新声明 –
您使用的是什么RDMS? – mwan