我想在该视图中创建视图我想插入记录或基于特定条件更新记录,因此我们可以在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. 从Azure执行Azure SQL DML语句ML
- 2. 为什么SQL语句分为DDL,DML,DCL和TCL语句?
- 3. SQL视图语句连接
- 4. SQL视图(如果语句)
- 5. 创建视图中的SQL语句
- 6. Oracle:检查dml语句
- 7. BigQuery INSERT DML语句限制
- 8. 在视图后面获取sql语句
- 9. 为什么'Select'被称为DML语句?
- 10. Oracle SQL - DML语句是否会导致对象无效?
- 11. 删除既可以是DDL语句又可以是DML语句
- 12. Sql Server - 获取现有视图的视图创建语句
- 13. SP中的Dml语句运行并行或顺序sql服务器?
- 14. oracle 8i中dml语句中的函数替换
- 15. 在一个脚本中混合使用DDL语句和DML语句
- 16. sql中的语句
- 17. SQL语句中的Where语句中的IF语句
- 18. 如何找到在MySQL中创建视图的SQL语句?
- 19. where语句中的case语句 - SQL Server
- 20. SQl if where语句中的语句
- 21. 如何在MySQL DML语句中设置特定的UNIQUE列
- 22. 如何提高此DML语句中的性能?
- 23. SQl语句来监视SQL Server锁
- 24. 更改MySQL视图中的select语句
- 25. 视图错误中的条件语句
- 26. SQL视图语法
- 27. 列表视图if语句
- 28. 用语句创建视图
- 29. Select语句详细视图
- 30. 试图找出SQL语句
您似乎已经忘记提问... –
我的问题是我们可以插入或更新声明 –
您使用的是什么RDMS? – mwan