导航:首页 > 数据处理 > 什么是数据库中的记录指针

什么是数据库中的记录指针

发布时间:2022-11-21 12:41:42

Ⅰ SQL中的指针和游标怎么理解

windows或DOS的“光标”不同,MS-SQL的游标是一种临时的数据库对象,既对可用来旋转储存在系统永久表中的数据行的副本,也可以指向储存在系统永久表中的数据行的指针。
游标为您提供了在逐行的基础上而不是一次处理整个结果集为基础的操作表中数据的方法。 1.如何使用游标 1)定义游标语句 Declare <游标名> Cursor For
2)创建游标语句 Open <游标名>
3)提取游标列值、移动记录指针 Fetch <列名列表> From <游标名> [Into <变量列表>]
4)使用@@Fetch_Status利用While循环处理游标中的行
5)删除游标并释放语句 Close <游标名>/Deallocate <游标名>
6)游标应用实例 --定义游标
Declare cur_Depart Cursor
For Select cDeptID,cDeptName From Department into @DeptID,@DeptName
--创建游标
Open cur_Depart
--移动或提取列值
Fetch From cur_Depart into @DeptID,@DeptName
--利用循环处理游标中的列值
While @@Fetch_Status=0
Begin
Print @DeptID,@DeptName
Fetch From cur_Depart into @DeptID,@DeptName
End
--关闭/释放游标
Close cur_Depart
Deallocate cur_Depart2.语句的详细及注意 1)定义游标语句 Declare <游标名> [Insensitive] [Scroll] Cursor
For <Select 语句> [FOR {Read Only | Update [ OF <列名列表>]}] Insensitive DBMS创建查询结果集数据的临时副本(而不是使用直接引用数据库表中的真实数据行中的列)。游标是Read Only,也就是说不能修改其内容或底层表的内容; Scroll 指定游标支持通过使用任意Fetch 选项(First Last Prior Next Relative Absolute)选取它的任意行作为当前行。如果此项省略,则游标将只支持向下移动单行(即只支持游标的Fetch Next); Select语句 定义游标结果集的标准 SELECT 语句。在游标声明的 <Select语句>内不允许使用关键字 COMPUTE、COMPUTE BY、FOR BROWSE 和 INTO; Read Only 防止使用游标的用户通过更新数据或删除行改变游标的内容; Update 创建可更新游标且列出值能被更新的游标列。如果子句中列入了任意列,则只有被列入的列才能被更新。如果Declare Cursor语句中只指定的UPDATE(没有列名列表),则游标将允许更新它的任何或所有列。
Declare cur_Depart Cursor
For Select * From Department For Update OF cDeptID,cDeptName 2)提取游标列值、移动记录指针语句 Fetch [Next | Prior | First | Last | {Absolute <行号>} | {Relative <行号>}]
From <游标名> [Into <变量列表……>] 每次执行Fetch语句时,DBMS移到游标中的下一行并把游标中的列值获取到Into中列出的变量中。因此Fetch语句的Into子句中列出的变量必须与游标定义中Select 语句中的列表的类型与个数相对应; 仅当定义游标时使用Scroll参数时,才能使用Fetch语句的行定位参数(First Last Prior Next Relative Absolute);如果Fetch语句中不包括参数Next | Prior | First | Last,DBMS将执行默认的Fetch Next; Next 向下、向后移动一行(记录); Prior 向上、向前移动一行(记录); First 移动至结果集的第一行(记录); Last 移动至结果集的最后一行(记录); Absolute n 移动到结果集中的第n行。如果n是正值,DBMS从结果集的首部向后或向下移动至第n行;如果n是负数,则DBMS从结果集的底部向前或向上移动n行;
Fetch Absolute 2 From cur_Depart Into @DeptID,@DeptName Relative n 从指针的当前位置移动n行。如果n是正值,DBMS将行指针向后或向下移动至第n行;如果n是负数,则DBMS将行指针向前或向上移动n行;
Fetch Relative 2 From cur_Depart Into @DeptID,@DeptName 3)基于游标的定位DELETE/UPDATE语句 如果游标是可更新的(也就是说,在定义游标语句中不包括Read Only 参数),就可以用游标从游标数据的源表中DELETE/UPDATE行,即DELETE/UPDATE基于游标指针的当前位置的操作;
举例: --删除当前行的记录
Declare cur_Depart Cursor
For Select cDeptID,cDeptName From Department into @DeptID,@DeptName
Open cur_Depart
Fetch From cur_Depart into @DeptID,@DeptName
Delete From Department Where CURRENT OF cur_Depart --更新当前行的内容
Declare cur_Depart Cursor
For Select cDeptID,cDeptName From Department into @DeptID,@DeptName
Open cur_Depart
Fetch From cur_Depart into @DeptID,@DeptName
Update Department Set cDeptID=’2007’ + @DeptID Where CURRENT OF cur_Depart3.游标使用技巧及注意 1)利用Order By改变游标中行的顺序。此处应该注意的是,只有在查询的中Select 子句中出现的列才能作为Order by子句列,这一点与普通的Select语句不同;
2)当语句中使用了Order By子句后,将不能用游标来执行定位DELETE/UPDATE语句;如何解决这个问题,首先在原表上创建索引,在创建游标时指定使用此索引来实现;例如:
Declare cur_Depart Cursor
For Select cDeptID,cDeptName From Department With INDEX(idx_ID)
For Update Of cDeptID,cDeptName
通过在From子句中增加With Index来实现利用索引对表的排序;
3)在游标中可以包含计算好的值作为列;
4)利用@@Cursor_Rows确定游标中的行数;

Ⅱ 数据库的指针是什么

数据库里没有指针
有游标。
游标是映射在结果集中一行数据上的位置实体,有了游标,用户就可以访问结果集中的任意一行数据了,将游标放置到某行后,即可对该行数据进行操作。
1. 声明游标
CURSOR mycur(vartype number) is
select emp_no,emp_zc from cus_emp_basic
where com_no = vartype;

2. 打开游标
open mycur(000627)
注:000627是参数

3. 读取数据
fetch mycur into varno, varprice;

4. 关闭游标
close mycur;

Ⅲ 数据库中的“记录”指的是什么

我们把表中的每一行叫做一个“记录”,每一个记录包含这行中的所有信息,就像在通讯录数据库中某个人全部的信息,但记录在数据库中并没有专门的记录名,常常用它所在的行数表示这是第几个记录

Ⅳ 在数据库里面,什么叫记录,什么叫字段是一行还是一列

数据库一般术语中记录是一行,字段是一列,记录和字段在分别对应关系数据库中的属性和元组

Ⅳ Visu-al FoxPro中什么是记录号、记录指针、当前记录

记录号:就是第几条记录
记录指针:指示当前记录
当前记录:当前选中或操作的记录.
就字面意思不太难理解啊

Ⅵ 在visual foxpro数据中,记录指针的作用是什么

记录指针用于定位当前表的当前记录。
需多对表进行操作的命令在不给出条件的情况下,就是对当前记录进行操作。
可以通过SKIP
N,GO
N等语句移动记录指针到要求的记录。使用该记录成为当前记录。
在不限定条件的前题下,可以通过
RECNO()来求出当前记录指针的位置(记录号)。
DISPLAY显示当前记录。
DELETE
删除当前记录。
BROW,EDIT,REPLACE来修改当前记录。

Ⅶ 记录指针的定义

vfp的记录指针是指打开的表的当前记录的,即指向表的记录,比如新打开一个表,记录指针指向第一条记录,SKIP 后指向第二条记录,LOCATE FOR XM='王宏'记录指针指向XM为王宏的记录。

Ⅷ 数据库记录是什么

数据记录是指对应于数据源中一行信息的一组完整的相关信息。例如,客户邮件列表中的有关某位客户的所有信息为一条数据记录。
数据库具有以下主要特点:
(1)实现数据共享。数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。
(2)减少数据的冗余度。同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了数据的一致性。
(3)数据的独立性。数据的独立性包括数据库中数据库的逻辑结构和应用程序相互独立,也包括数据物理结构的变化不影响数据的逻辑结构。
(4)数据实现集中控制。文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。
(5)数据一致性和可维护性,以确保数据的安全性和可靠性。主要包括:①安全性控制:以防止数据丢失、错误更新和越权使用;②完整性控制:保证数据的正确性、有效性和相容性;③并发控制:使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用;④故障的发现和恢复:由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。

Ⅸ 数据库中recordset 都有什么属性,

zzzzRecordSet对象的属性可分为以下4种类型。

zzzz1)方式属性:包括ActiveConnection属性和Source属性。

zzzz2)行为属性:包括CursorType属性、LockType属性、Filter属性、CacheSize属性和MaxRecords属性。

zzzz3)记录指针移动属性:包括BOF和EOF属性、RecordCount属性、BookMar属性、AbsikytePosition属性、PageSize属性、AbsolutePage属性和PageCount属性。

zzzz4)数据维护属性:包括EditMode属性和Status属性等。

1.方式属性

zzzz(1) ActiveConnection属性

zzzz此属性用于指定链接字符串或Connection对象的名称,方便RecordSet对象完成数据库链接有前置动作。

zzzz(2) Source属性

zzzz此属性用于设置或返回一个字符串,指定要检索数据库服务器。包含存储进程名、表名、SQL语句或在打开时用于为RecordSet提供记录集合的开放Command对象。

2.行为属性

zzzz(1)CursorType属性:此属性定义了指针的类型,不同的指针类型决定了对数据库所能做的操作,它有4种可取值,如表7-9所示。

表7-9 CursorType属性值说明

zzzz(2)LockType属性:此属性决定了是否可以更新数据以及RecordSet的更新是否可以批量进行。LockType属性有4种可取值,如表7-10所示。

表7-10 LockType属性值说明

zzzz(3)Filter属性:此属性用于过滤由数据库服务器端所返回的数据,Filter属性设定值如表7-11所示。

表7-11 Filter所示属性值说明

zzzz(4)CacheSize属性:此属性指定保存在高速缓存中RecordSet记录的数目,也就是客户端每次由数据库服务器端取回数据记录的数目。对于只能向前移动的记录,默认值为1。

zzzz(5)MaxRecords属性:该属性设定返回给RecordSet记录的最大数目,默认值为0,表明将所有记录都加入到RecordSet中,打开RecordSet对象后,此属性为只读。

3.记录指针移动的属性

zzzz(1)BOF和EOF属性:这两个属性是用来判断指针是否在RecordSet的首记录之前或尾记录之后。如果当记录位于RecordSet的首记录之前,则BOF返回True.如果当前记录是位于RecordSet的尾记录之后,则EOF返回True.如果BOF 和EOF都为True,则说明RecordSet中没有记录。

zzzz(2)RecordCount属性:该属性用于返回RecordSet中的记录数。

zzzz(3)BookMark属性:当创建一个允许使用BookMark属性的RecordSet时,给每一个记录都标上独一无二的书签。利用此属性可以返回标记书签的位置。

zzzz(4)AbsolutePosition属性:此属性可以用于设置RecordSet当前记录的顺序位置。

zzzz(5)PageSize属性:当记录集合返回到RecordSet中时,集合就会被划分成任意大小的页。利用此属性可以页记录集合。

zzzz(6)AbsolutePage属性:此属性指定了指针的位置,通过改变它的值来通知ADO移动指定页面的开始位置。

zzzz(7)PageCount属性:此属性可用来返回RecordSet中的页数。如果RecordSet最后一页未满,其中的记录就少于PageCount值,则PageCount属性值应由下面的公式设定。

zzzzPageCount=(RecordCount+PageSize-1)/PageSize

4.数据维护属性

zzzz(1)EditMode属性:该属性返回一个表明当前记录编辑状态的值。此属性的返回值有3种如表7-12所示。

表7-12EditMode返回值

zzzz(2)Status属性:此属性可以在实施一次批量更新后,查询RecordSet的状态。该属性常用于多用户链接管理。其返回值如表7-13所示。

表7-13 Status的返回值

阅读全文

与什么是数据库中的记录指针相关的资料

热点内容
资质和信用信息系统怎么下载 浏览:405
如何做一个物流信息部 浏览:873
审核中的小程序在哪里 浏览:399
友爱职业技术学院多少个班 浏览:515
代理商是怎么工作的 浏览:638
哪里能查业主信息 浏览:271
程序员吃什么提升自己 浏览:295
产品和仪器如何选择 浏览:775
代理权授予范围及方式有哪些 浏览:104
休市为什么可以交易股票 浏览:999
如何创建数据宏 浏览:647
红字发票信息多久审核通过 浏览:467
autostart程序是什么 浏览:603
娇韵诗都有哪些产品 浏览:241
西宁市卖旧书籍市场在哪里 浏览:553
江西技术电子产品哪个好 浏览:825
如何把地图做成数据 浏览:637
kbaby童装怎么代理 浏览:606
纳米技术未来会发展到什么阶段 浏览:477
蜡油加氢裂化的产品有哪些 浏览:709