索引 视图 事务 游标 锁 详细介绍(3)
时间:2025-04-04
时间:2025-04-04
索引 视图 事务 游标 锁 详细介绍
不能将触发程序与视图关联在一起。
概述:
视图的使用与表一样,有增删改查四种操作,且语法也与表相同。
在视图上也可以使用修改数据的DML语句,如INSERT、UPDATE和DELETE可以统称为“通过视图更新数据”。
通过视图更新数据有如下限制:
视图更新操作: 可更新的视图:要通过视图更新基本表数据,必须保证视图是可更新视图,即可以在INSET、
UPDATE或DELETE等语句当中使用它们。对于可更新的视图,在视图中的行和基表中的行之
间必须具有一对一的关系。还有一些特定的其他结构,这类结构会使得视图不可更新。如果视
图包含下述结构中的任何一种,那么它就是不可更新的:
注意:当视图所依赖的基本表有多个时,不能向该视图插入数据,因为这将会影响多个基本表。 对INSERT语句还有一个限制:SELECT语句中必须包含FROM子句中指定表的所有不能为空的列。 聚合函数; DISTINCT关键字; GROUP BY子句; ORDER BY子句; HAVING子句; UNION运算符; 位于选择列表中的子查询; FROM子句中包含多个表; SELECT语句中引用了不可更新视图; 一次只能修改一个底层的基表 如果修改违反了基表的约束条件,则无法更新视图 如果视图中的列不是表中的原始列(如创建视图时使用了连接操作符、聚合函数等),则不能通过视图更新。
3、游标
游标(Cursor)是处理数据的一种方法,为了查看或者处理结果集中的数据,游标提供了在结果集中一次以行或者多行前进或向后浏览数据的能力。我们可以把游标当作一个指针,它可以指定结果中的任何位置,然后允许用户对指定位置的数据进行处理。
游标包含两个部分:游标结果集(定义该游标得SELECT语句返回的行的集合),游标位置(指向这个结果集某一行的当前指针)。
是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。每个游标区都有一个名字。用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理。
概述
游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标总是与一条SQL 选择语句相关联因为游标由结果集(可以是零条、一条或由相关的选择语句检索出的多条记录)和结果集中指向特定记录的游标位置组成。当决定对结果集进行处理时,必须声明一个指向该结果集的游标。 3