首页 > 后端 > 经验 > 哪些数据库支持游标,SQL游标的使用

哪些数据库支持游标,SQL游标的使用

来源:整理 时间:2024-07-03 06:24:41 编辑:黑码技术 手机版

本文目录一览

1,SQL游标的使用

1、甲骨文公司的Oracle、甲骨文公司的开源项目MySql、微软公司的SQL Server、IBM公司的DB2都有游标机制。2、上下左右遍历属性值。仿佛你在使用方向键控制单元格。3、需要遍历每个属性值时,游标能任意取出行任意取出列的值。
order by 是sql内的排序游标适用于程序块, 是存储记录集的基本没有共同点,所以谈不上有什么区别

SQL游标的使用

2,请教mysql数据库有个游标吗

在数据库中,游标是一个十分重要的概念。游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标总是与一条SQL 选择语句相关联因为游标由结果集(可以是零条、一条或由相关的选择语句检索出的多条记录)和结果集中指向特定记录的游标位置组成。当决定对结果集进行处理时,必须声明一个指向该结果集的游标。如果曾经用 C 语言写过对文件进行处理的程序,那么游标就像您打开文件所得到的文件句柄一样,只要文件打开成功,该文件句柄就可代表该文件。对于游标而言,其道理是相同的。可见游标能够实现按与传统程序读取平面文件类似的方式处理来自基础表的结果集,从而把表中数据以平面文件的形式呈现给程序。
没有

请教mysql数据库有个游标吗

3,mysql 56支持动态游标吗

osql与关系型数据库设计理念比较 关系型数据库中的表都是存储一些格式化的数据结构,每个元组字段的组成都一样,即使不是每个元组都需要所有的字段,但数据库会为每个元组分配所有的字段,这样的结构可以便于表与表之间进行连接等操作,但从另一个角度来说它也是关系型数据库性能瓶颈的一个因素。而非关系型数据库以键值对存储,它的结构不固定,每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对,这样就不会局限于固定的结构,可以减少一些时间和空间的开销。 特点:它们可以处理超大量的数据。 它们运行在便宜的pc服务器集群上。它们击碎了性能瓶颈。没有过多的操作。 bootstrap支持 缺点:但是一些人承认,没有正式的官方支持,万一出了差错会是可怕的,至少很多管理人员是这样看。 此外,nosql并未形成一定标准,各种产品层出不穷,内部混乱,各种项目还需时间来检验

mysql 56支持动态游标吗

4,如何使用SQL Server游标一

但是我们常常会遇到这样情况,即从某一结果集中逐一地读取一条记录。那么如何解决这种问题呢?游标为我们提供了一种极为优秀的解决方案。 1.游标和游标的优点 在数据库中,游标是一个十分重要的概念。游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标总是与一条T_SQL 选择语句相关联因为游标由结果集(可以是零条、一条或由相关的选择语句检索出的多条记录)和结果集中指向特定记录的游标位置组成。当决定对结果集进行处理时,必须声明一个指向该结果集的游标。如果曾经用 C 语言写过对文件进行处理的程序,那么游标就像您打开文件所得到的文件句柄一样,只要文件打开成功,该文件句柄就可代表该文件。对于游标而言,其道理是相同的。可见游标能够实现按与传统程序读取平面文件类似的方式处理来自基础表的结果集,从而把表中数据以平面文件的形式呈现给程序。 我们知道关系数据库管理系统实质是面向集合的,在MS SQL SERVER 中并没有一种描述表中单一记录的表达形式,除非使用where 子句来限制只有一条记录被选中。因此我们必须借助于游标来进行面向单条记录的数据处理。 由此可见,游标允许应用程序对查询语句select 返回的行结果集中每一行进行相同或不同的操作,而不是一次对整个结果集进行同一种操作;它还提供对基于游标位置而对表中数据进行删除或更新的能力;而且,正是游标把作为面向集合的数据库管理系统和面向行的程序设计两者联系起来,使两个数据处理方式能够进行沟通。 2.游标种类 MS SQL SERVER支持三种类型的游标:Transact_SQL 游标,API 服务器游标和客户游标。 (1)Transact_SQL游标 Transact_SQL游标是由DECLARE CURSOR语法定义、主要用在Transact_SQL 脚本、存储过程和触发器中。Transact_SQL 游标主要用在服务器上,由从客户端发送给服务器的Transact_SQL 语句或是批处理、存储过程、触发器中的Transact_SQL 进行管理。 Transact_SQL 游标不支持提取数据块或多行数据。 (2)API 游标 API 游标支持在OLE DB, ODBC 以及DB_library 中使用游标函数,主要用在服务器上。每一次客户端应用程序调用API 游标函数,MS SQL SEVER 的OLE DB 提供者、ODBC驱动器或DB_library 的动态链接库(DLL) 都会将这些客户请求传送给服务器以对API游标进行处理。 (3)客户游标 客户游标主要是当在客户机上缓存结果集时才使用。在客户游标中,有一个缺省的结果集被用来在客户机上缓存整个结果集。客户游标仅支持静态游标而非动态游标。由于服务器游标并不支持所有的Transact-SQL 语句或批处理,所以客户游标常常仅被用作服务器游标的辅助。因为在一般情况下,服务器游标能支持绝大多数的游标操作。 由于API 游标和Transact-SQL 游标使用在服务器端,所以被称为服务器游标,也被称为后台游标,而客户端游标被称为前台游标。在本章中我们主要讲述服务器(后台)游标。select count(id) from infoselect * from info--清除所有记录

5,mysql 支持带参数的游标吗

你这种格式的没有,不过这个变量还是可以用下面这种方法实现的。mysql> delimiter //mysql>mysql> CREATE PROCEDURE curdemo(IN V_GROUP INT) -> BEGIN -> DECLARE done INT DEFAULT 0; -> DECLARE a INT; -> DECLARE b CHAR(16); -> -> DECLARE cur1 CURSOR FOR SELECT id,name FROM student where classid=V_GROUP; -> DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; -> -> OPEN cur1; -> -> REPEAT -> FETCH cur1 INTO a, b; -> select a,b; -> UNTIL done END REPEAT; -> -> CLOSE cur1; -> END -> -> -> //Query OK, 0 rows affected (0.20 sec)mysql>mysql> delimiter ;mysql>mysql> SELECT id,name,classid FROM student ;+----------+--------+---------+| id | name | classid |+----------+--------+---------+| 91010101 | 丁乙甲 | 10101 || 91010102 | 索春龙 | 10101 || 91010103 | 刘莉莉 | 10101 || 91010104 | 隋鑫 | 10101 || 91010105 | 长命 | 10101 || 91010201 | 河江山 | 10102 || 91010202 | 祝立业 | 10102 || 91010203 | 姚桂娇 | 10102 || 91010204 | 张冬梅 | 10102 || 91020101 | 蒋旭 | 10201 || 91020102 | 邱介臣 | 10201 || 91020103 | 王晓燕 | 10201 || 91020104 | 夏丽佳 | 10201 || 91020201 | 熊建业 | 10202 || 91020202 | 丛俊江 | 10202 || 91020203 | 周静燕 | 10202 || 91020204 | 黄爽 | 10202 || 91020301 | 魏国兴 | 10203 || 91020302 | 蒋洪涛 | 10203 || 91020303 | 倪春红 | 10203 || 91030101 | 张文天 | 10301 || 91030102 | 姜洋 | 10301 || 91030103 | 赵聪 | 10301 || 91030201 | 王飞 | 10302 |+----------+--------+---------+24 rows in set (0.00 sec)mysql>mysql> CALL curdemo(10101);+----------+--------+| a | b |+----------+--------+| 91010101 | 丁乙甲 |+----------+--------+1 row in set (0.00 sec)+----------+--------+| a | b |+----------+--------+| 91010102 | 索春龙 |+----------+--------+1 row in set (0.00 sec)+----------+--------+| a | b |+----------+--------+| 91010103 | 刘莉莉 |+----------+--------+1 row in set (0.00 sec)+----------+------+| a | b |+----------+------+| 91010104 | 隋鑫 |+----------+------+1 row in set (0.00 sec)+----------+------+| a | b |+----------+------+| 91010105 | 长命 |+----------+------+1 row in set (0.00 sec)+----------+------+| a | b |+----------+------+| 91010105 | 长命 |+----------+------+1 row in set (0.00 sec)Query OK, 0 rows affected (0.00 sec)mysql>
可以,参考:create procedure ora_sp_cur_with_param_mysql()begindeclare var1 float default 0;declare val1 float;declare cur1 cursor forselect col1 from tab1where col5 = val1;set val1 = 0;open cur1;fetch cur1 into var1;close cur1;set val1 = 5; open cur1;fetch cur1 into var1;close cur1;end;
文章TAG:哪些数据数据库支持哪些数据库支持游标

最近更新

相关文章