快捷搜索:

SQL Server数据库技术(86)

平日环境下我们用游标来从根基表中检索数据,以实现对数据的行处置惩罚。但在某些环境下,我们也常要改动游标中的数据,即进行定位更新或删除游标所包孕的数据。以是必须履行别的的更新或删除敕令,并在WHERE 子句中从新给定前提才能改动到该行数据。然则假如在声明游标时应用了FOR UPDATE 语句,那么就可以在UPDATE 或DELETE敕令中以WHERE CURRENT OF 关键字直接改动或删除当前游标中所存储的数据,而不必应用WHERE 子句从新给出指定前提。当改变游标中数据时,这种变更会自动地影响到游标的根基表。然则假如在声明游标时选择了INSENSITIVE 选项时,该游标中的数据不能被改动,详细含义请参看声明游标一节中对INSENSITIVE 选项的具体解释。

进行定位改动或删除游标中数据的语律例则为:

此中:

• table_name: UPDATE 或DELETE 的表名;

• column_name: UPDATE 的列名;

• cursor_name: 游标名。

下面我们将给出两个例子来阐明若何对游标进行定位更新或删除,首先声明一个游标。

例13-6: 更新authors 表中的au_lname 和au_fname 列

例13-7: 删除authors 表中的一行数据

提示:以上更新或删除操作老是基于游标确当前位置。

例13-8: 下面是一个定位更新的完备例子,首先查看authors 表中每一行,将au_id即是’172-32-1176’的记录的au_lname 和au_fname 分手变动为’Smith’和’Jake’。

您可能还会对下面的文章感兴趣: