博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sql游标的使用与exec的两种用法
阅读量:6295 次
发布时间:2019-06-22

本文共 1116 字,大约阅读时间需要 3 分钟。

1.exec的用法

(1).执行存储过程:exec 存储过程名 参数

1 exec myprocdure @code="Z0001" 3 exec myprocdure '2019/01/01','2019/10/01','Z0001'

(2).动态执行sql语句:用圆括号(),不能带输入,输出参数

1 exec ( 'Insert #exl( code ) Select code From excode ')

2.sql中游标的使用

游标是一种处理数据的方法,主要用于存储过程,触发器和T-SQL语句中,他们的结果集可用于其他的T-SQL语句。可以查看或处理结果集中向前或向后浏览数据的功能。

1.游标可以从多条数据的结果集中每次提取一条数据

2.可以对select返回的结果集中每次执行相同或不同的操作

3.保存查询结果。方便以后使用 ,游标的结果由select语句产生,如果处理过程需要重复使用一个记录集,那么创建一次游标而重复使用若干次,比重复查询数据库要快的多。

游标主要包括结果集和游标位置两部分,游标结果集是定义游标的select语句返回的行集合,游标位置是指向这个结果集中的某一行的指针,因此,若要对结果集进行逐条单独处理时,需声明一个指向该结果集中的游标变量

1.游标变量的声明:declare @cursor cursor2.声明游标:declare 游标名 cursor3.创建游标:declare 游标名 cursor for select 语句4.fetch next from 游标名 into 游标变量   -- 将游标向下移一行,将获取到的数据放入之前定义的游标变量中5.while @@fetch_status=0  -- 判断fetch语句是否执行成功6.关闭游标:close 游标名7.释放游标:deallocate 游标名
1 fetch next from namecursor into @cursor2 while @@ @@fetch_status = 03 BEGIN4        sql语句5        fetch next from namecursor into @cursor6 END7 8 -- 注意: 用两次 “FETCH NEXT FROM ” 是因为,第一次只是用来判断 @@FETCH_STATUS的,后面一次 “FETCH NEXT FROM ” 才是 loop用到的,也就是后面一次 是在 BEGIN END之间,是被反复执行的。每次读取一行。

 

 

 

 

 

转载于:https://www.cnblogs.com/lita07/p/10980404.html

你可能感兴趣的文章
SVN 命令笔记
查看>>
检验手机号码
查看>>
重叠(Overlapped)IO模型
查看>>
Git使用教程
查看>>
使用shell脚本自动监控后台进程,并能自动重启
查看>>
Flex&Bison手册
查看>>
solrCloud+tomcat+zookeeper集群配置
查看>>
/etc/fstab,/etc/mtab,和 /proc/mounts
查看>>
Apache kafka 简介
查看>>
socket通信Demo
查看>>
技术人员的焦虑
查看>>
js 判断整数
查看>>
mongodb $exists
查看>>
js实现页面跳转的几种方式
查看>>
sbt笔记一 hello-sbt
查看>>
常用链接
查看>>
pitfall override private method
查看>>
!important 和 * ----hack
查看>>
聊天界面图文混排
查看>>
控件的拖动
查看>>