最近在做一个项目 - 一个管理系统 ,发现很多数据库基础知道还不扎实!现在此巩固一下
一、查询结果为单记录的select语句
这在所有的相关教程中都归纳到了不使用游标的sql语句中
这类语句的格式如:
SELECT col1,....... INTO col1,.... FROM table [WHERE....]
运用此查询可以将查询结果为单条记录的查询结果赋值给定义好的变量,
使用此类查询时注意:
(1)用于存放结果的变量的类型要和从表中选择的类型要一致!
(2)如果查询结果不是单条记录而是多条,则程序会出错!RDBMS会返回错误信息
二、查询结果为多条记录的select语句--使用游标
一般地,使用游标都遵循下列的常规步骤:
(1) 声明游标。把游标与T-SQL语句的结果集联系起来。
DECLARE cur_name CURSOR FOR <select 语句>..........
(2) 打开游标。
OPEN cur_name
在打开游标的时候会执行select语句申明的查询,把查询结果读取到缓冲区中,指针指向结果集的第一条记录
(3) 使用游标操作数据。
一般采用循环读取(至少我还没有发现其它方式)记录
FECH cur_name INTO ........
WHILE 条件 do
......
mysql中控制条件可申明一个变量来控制,如:
DECLARE stop INT default 0;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET stop=1;
WHILE stop <>1 do
.....
(4) 关闭游标
CLOSE cur_name