SQL中游标的用法

游标:是用来对表从上下每行循环取值,将值连接成为字符串.
例子:
对 pubs 数据库的dbo.titles 表。
1.取得表中的总价格:select sum(price) from dbo.titles
2.但是我想得到这样一个结果:书名,价格。
精通ASP,39元;学习vc++,28元;JAVA编程,23元
则用到游标:

声明游标:
declare titprice CURSOR FAST_FORWARD for
select title, price from dbo.titles where price<15

打开游标:
open titprice

循环取质
fetch next from titprice into @strtitle, @strprice
while @@fetch_status=0
begin
if @str=‘‘
set @[email protected]+‘: ‘+Convert(varchar(20),@strprice)
else
set @[email protected][email protected]+‘: ‘+Convert(varchar(20),@strprice)

fetch next from titprice into @strtitle,@strprice
end

关闭游标
close titprice
释放游标
DEALLOCATE titprice

print @str

时间: 2024-09-30 20:01:39

SQL中游标的用法的相关文章

SQL中游标的使用(转)

一般情况下,我们用SELECT这些查询语句时,都是针对的一行记录而言,如果要在查询分析器中对多行记录(即记录集)进行读取操作时,则需要使用到游标或WHILE等循环 游标的类型:  1.静态游标(不检测数据行的变化)  2.动态游标(反映所有数据行的改变)  3.仅向前游标(不支持滚动)  4.键集游标(能反映修改,但不能准确反映插入.删除) 游标使用顺序:   1.定义游标   2.打开游标   3.使用游标   4.关闭游标   5.释放游标 Transact-SQL:declare 游标名

sql 中游标的使用

declare @id int declare @addTime datetime declare cursor1 cursor for         --定义游标cursor1 select id,addtime from MR_Examine              --使用游标的对象(跟据需要填入select文) open cursor1                       --打开游标 declare @i int set @i=1 fetch next from curso

sql中游标的定义和使用

游标的类型:1.静态游标(不检测数据行的变化)2.动态游标(反映所有数据行的改变)3.仅向前游标(不支持滚动)4.键集游标(能反映修改,但不能准确反映插入.删除) 游标使用顺序:1.定义游标2.打开游标3.使用游标4.关闭游标5.释放游标 语法 declare 游标名 cursor [LOCAL | GLOBAL][FORWARD_ONLY | SCROLL][STATIC | KEYSET | DYNAMIC ] [READ_ONLY | SCROLL_LOCKS] for selet语句 [

sql中游标的使用一

@@fetch_status declare @id int set @id = 1 DECLARE cur1 CURSOR FORSELECT employeeid FROM #table OPEN cur1 ;FETCH NEXT FROM cur1 ;WHILE @@FETCH_STATUS = 0 and @id = 0   BEGIN      FETCH NEXT FROM cur1 ;   END;CLOSE cur1 ;DEALLOCATE cur1 ;GO 以上例子中字体加粗的

SQL中游标的使用--遍历数据逐行更新或删除:相当于for循环

--------------------------------------例子1 单纯的游标-------------------------------- create TABLE Table1 ( a varchar(10), b varchar(10), c varchar(10), CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED ( a ASC ) ) ON [PRIMARY] create TABLE Table2 ( a varchar(1

SQL中游标的使用

一般情况下,我们用SELECT这些查询语句时,都是针对的一行记录而言,如果要在查询分析器中对多行记录(即记录集)进行读取操作时,则需要使用到游标或WHILE等循环 游标的类型:  1.静态游标(不检测数据行的变化)  2.动态游标(反映所有数据行的改变)  3.仅向前游标(不支持滚动)  4.键集游标(能反映修改,但不能准确反映插入.删除) 游标使用顺序:   1.定义游标   2.打开游标   3.使用游标   4.关闭游标   5.释放游标 Transact-SQL: declare 游标名

SQL Server 中游标的使用

1.游标是行读取,占用资源比sql多2.游标的使用情景:  ->现存的系统中使用的是游标,查询必须通过游标来实现  ->用尽了while.子查询临时表.表变量.自定义函数以及其他方式仍然无法实现的时候,使用游标3.T-SQL 中游标的生命周期由5部分组成   ->定义游标:游标的定义遵循T-Sql的定义方法,赋值有两种方法,定义时赋值,和先定义后赋值,定义游标像定义其他局部变量一样前面要加@,注意如果是全局的游标,只支持定义时直接赋值,并且不能在游标前面加@   --定义时直接赋值   

Mysql中游标的使用

最近在使用Mysql时,经常需要用到游标,所以将使用方法做下记录以备日后查看.(这里只是为了说明游标的用法,不会涉及复杂的业务逻辑,所以举的例子可能并不恰当) 首先,创建两张表departmentinfo(部门信息表)和employeeinfo(员工信息表) 表结构如下: 表departmentinfo存储部门名及部门总销售额 表employeeinfo存储员工名.员工所在部门ID及员工个人销售额 表中初始数据如下: 各部门总销售额均为0 员工分别在3个部门下,且都有自己的销售额 然后创建存储过

SQL 语句日期用法及函数

SQL 语句日期用法及函数 --DAY().MONTH().YEAR()——返回指定日期的天数.月数.年数:select day(cl_s_time) as '日' from class  --返回天select '月'=month(cl_s_time) from class  --返回月select '年'=year(cl_s_time) from class  --返回年 --DATEADD(datepart,number,date)——在日期上增加给定日期类型的数量:select date