SqlServer循环查询
来源:互联网 发布:祁县哪个宽带网络好 编辑:程序博客网 时间:2024/06/07 00:59
1.这里记录一下游标查询的方式,表结构沿用上篇递归调用的表,我们把所有name用游标循环的方式集合到一条数据内显示出来,表结构如下:
2.查询语句如下
BEGINDECLARE @id INT;DECLARE @temp VARCHAR(20);DECLARE @result VARCHAR(100);SET @result='';DECLARE tempCursor CURSOR FOR (select id from companyStructure); --创建游标tempCursor,并定义游标所指向的集合OPEN tempCursor; --打开游标FETCH NEXT FROM tempCursor INTO @id; --游标读取下一个数据WHILE @@fetch_status=0 --游标读取下一个数据的状态,0表示读取成功BEGINSELECT @temp=name FROM companyStructure WHERE id=@id; --得到本次循环的id,并查询id对应的name,赋值到@temp变量中SET @result = @result + @temp + ','; --将@temp结果累加到变量@result中FETCH NEXT FROM tempCursor INTO @id; --继续用游标读取下一个数据ENDSELECT @result as 'result'; --查询结果集@resultEND
3.效果图如下
4.实际上2步骤中是想多记录一些操作方式,如查询语句如何给变量赋值、累加等,更直接的方式如下
BEGINDECLARE @name VARCHAR(30);DECLARE @result VARCHAR(100);SET @result='';DECLARE tempCursor CURSOR FOR (select name from companyStructure); --此处直接查询companyStructure中的nameOPEN tempCursor;FETCH NEXT FROM tempCursor INTO @name; --由id变为nameWHILE @@fetch_status=0BEGINSET @result = @result + @name + ','; --省去查询,直接拼接字符串FETCH NEXT FROM tempCursor INTO @name;ENDSELECT @result as 'result';END
阅读全文
0 0
- sqlserver 循环查询
- SqlServer循环查询
- SQLServer中的循环批处理
- SQLServer中的循环批处理
- SQLServer中的循环批处理
- sqlserver 时间递增循环
- sqlserver里循环调用
- SQLServer变量_循环
- SQLServer索引循环删除
- SQLSERVER全文查询构架
- Sqlserver的版本查询
- SQLserver空间大小查询
- SQLServer XML查询
- SQLServer XML查询
- sqlserver 2005 分页查询
- SqlServer 查询sql执行时间
- sqlserver表结构查询
- SqlServer 查询sql执行时间
- okHttp工具类,实现get和post
- yii2常用方法
- Js控制iphone端的input/textarea元素失去焦点时隐藏键盘
- hdoj 2001
- 面试题目
- SqlServer循环查询
- 关于requireJs基础的总结
- mysql语句执行顺序
- 排序算法
- Java并发编程:volatile关键字解析
- The content of the adapter has changed but ListView did not receive a notification终极解决方法
- Java设计模式详解之一工厂方法模式
- PHP CLI下的配置处理
- ZOJ