SQL 知识量:22 - 44 - 129
创建游标的语句在不同的DBMS中有所差别。
在MySQL、DB2和SQL Server中创建游标newStudent:
declare newStudent cursor for select * from student;
注意:由于MySQL中,游标只能用于存储过程和函数,所以,以上语句应包含于一个存储过程之中。
在Oracle中的语句为:
declare cursor newStudent is select * from student;
1、使用open语句打开游标,在多数DBMS中本操作的语法相同。例如:打开游标newStudent。
open newStudent;
2、使用close语句关闭游标。例如:关闭游标newStudent。
close newStudent;
3、以下是一个简单的游标应用示例(使用MySQL):
delimiter // create procedure showName() /*定义存储过程showName*/ begin declare res varchar(255); /*定义变量res*/ declare theName cursor /*定义游标theName*/ for select name from student; open theName; /*打开游标*/ fetch theName into res; /*取出游标第一行name列的值赋给res*/ close theName; /*关闭游标*/ select res; end // delimiter ;
以上语句中,在游标中获取数据,使用了fetch语句,这里将检索当前行的name列(默认从第一行开始),并把结果通过into关键字保存到变量res中。
执行以上存储过程:
call showName;
结果为:
+-------+ | res | +-------+ | Susan | +-------+
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6