6、什么是存储过程?什么是游标,何时使用、何时不用游标?

急需回答这个简答题

存储过程是一组命名了的SQL语句集合,是为了完成特定功能汇集而成的。该集合编译后存放在数据库中,可根据实际情况重新编译,可直接运行,也可远程运行且存储过程直接在服务器端运行。

游标实际上是一种能从包括多条数据记录的结果集(结果集是select查询之后返回的所有行数据的集合)中每次提取一条记录的机制充当指针的作用,遍历结果中的所有行,但他一次只指向一行。

游标在循环处理字段的时候使用

建议:尽量避免使用游标,因为游标的效率较差,如果游标操作的数据超过1万行,那么就应该考虑改写;使用基于游标的方法或临时表方法之前,应先寻找基于集的解决方案来解决问题,基于集的方法通常更有效;与临时表一样,游标并不是不可使用。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-04-19
ALTER proc [dbo].[存储过程名] as begin declare 游标名字 cursor for select 列名 from 表名 where 条件--先申明游标指向查询出的结果,一列,或者多列都可以,条件自定 declare 变量名 varchar(400)--存储取到的值 open 游标名 --开启游标 while @@FETCH_STATUS=0--取值 begin fetch next FROM 游标名 into 变量名--这样就将游标指向下一行,得到的第一行值就传给变量了 ------------------------------------------- --需要执行的操作,例如修改某表中的字段 update 表名 set 列名=值 where (修改表中的列)=变量名 ------------------------------------------- end close 游标名--关闭游标 deallocate 游标名--释放游标 end
相似回答