ms-SQL 递归调用
----递归函数-------------------------------------------------------------------------- create function dbo.f_get_data_by_recursion
(
@group_father_id int
)
returns @groups_result table (group_id int,group_name varchar(50),group_father_id int,last_count int)
begin
declare @count as int
set @count=1 insert @groups_result select *,@count from groups where group_id=@group_father_id
while @@rowcount<>0
begin
set @count=@count+1
insert @groups_result
select g.group_id,g.group_name,g.group_father_id,@count from groups g,@groups_result gr
where g.group_father_id=gr.group_id and gr.last_count=@count-1
end
return
end GO
----调用举例-------------------------------------------------------------------------- create table dbo.groups
(
group_id int,
group_name varchar(50),
group_father_id int
) declare @loop as int
set @loop =1
while @loop < 1000
begin
insert into groups (group_id,group_name,group_father_id) values (@loop,'name',@loop -1)
set @loop =@loop +1
end set @loop =2001
while @loop < 2500
begin
insert into groups (group_id,group_name,group_father_id) values (@loop,'name',@loop -1)
set @loop =@loop +1
end select * from groups
select * from f_get_data_by_recursion(2001) drop table dbo.groups
drop function dbo.f_get_data_by_recursion
ms-SQL 递归调用的更多相关文章
- 在易语言中调用MS SQL SERVER数据库存储过程方法总结
Microsoft SQL SERVER 数据库存储过程,根据其输入输出数据,笼统的可以分为以下几种情况或其组合:无输入,有一个或多个输入参数,无输出,直接返回(return)一个值,通过output ...
- PCB MS SQL CLR聚合函数(函数作用,调用顺序,调用次数) CLR说明
用CLR写函数:标量函数,表值函数 很好理解,如果用聚合函数则不是那么好理解了, 这里将CLR函数说明一下,其实关键是对聚合函数说明 用CLR写聚合函数关键点,是要理解CLR与SQL是如何进行数据交互 ...
- MS SQL 需要定期清理日志文件
前言碎语 关于对SQL SERVER 日志文件管理方面了解不多的话,可以参考我的这篇博客文章“MS SQL 日志记录管理”,不过这篇文章只是介绍对SQL SERVER日志记录的深入认知了解,并没有提出 ...
- (火炬)MS SQL Server数据库案例教程
(火炬)MS SQL Server数据库案例教程 创建数据库: CREATE DATABASE TDB //数据库名称 ON ( NAME=TDB_dat,//逻辑文件名 在创建数据库完成之后语句中引 ...
- MS SQL Server递归查询
原文:MS SQL Server递归查询 刚才在论坛上看到网友一个要求.参考如下,Insus.NET分析一下,可以使用MS SQL Server的递归查询,得到结果.准备一张表: 根据网友提供的数据, ...
- mysql+mybatis递归调用
递归调用的应用场景常常出现在多级嵌套的情况,比如树形的菜单.下面通过一个简单的例子来实现mysql+mybatis的递归. 数据模型 private Integer categoryId; priva ...
- 理解 with递归调用 Sqlserver 树查询
--with用法 --可以这么理解 with SQL语句变量或者叫临时表名 as( SQL语句 ) select * from SQL语句变量或者叫临时表名 --递归调用 with CTE as( s ...
- MS SQL语句优化
MS SQL Server查询优化方法查询速度慢的原因很多,常见如下几种 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计 ...
- 怎样将DataGrip连接到MS SQL Server?
DataGrip支持几乎所有主流的关系数据库产品,如DB2.Derby.H2.MySQL.Oracle.PostgreSQL.SQL Server.Sqllite及Sybase等,并且提供了简单易用的 ...
- MS SQL巡检系列——检查外键字段是否缺少索引
前言感想:一时兴起,突然想写一个关于MS SQL的巡检系列方面的文章,因为我觉得这方面的知识分享是有价值,也是非常有意义的.一方面,很多经验不足的人,对于巡检有点茫然,不知道要从哪些方面巡检,另外一方 ...
随机推荐
- js实现精确统计网站访问量的代码分享
JS 精确统计网站访问量. 代码如下: /** * vlstat 浏览器统计脚本 */ var statIdName = "vlstatId"; var xmlHttp; /** ...
- [svc][op]磁盘Inode详解-重要
另一篇白话总结 一.inode是什么 理解inode,要从文件储存说起. 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector).每个扇区储存512字节(相当于0.5KB ...
- prequeue receive queue backlog queue
prequeue和backlog和receive 5.6 TCP prequeue http://blog.csdn.net/u011130578/article/details/44814201 t ...
- eclipse 集成 github
1.eclipse markketplace 搜索 egit 安装 next next ........ 安装好之后restart 2.开始配置git插件 配置git有2中方式 1.使用http ...
- How To Install and Configure Elasticsearch on Ubuntu 14.04
Reference: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-elasticsear ...
- postgres入门介绍
mysql被oricle公司收购以后,PG就成了比较流行的开源数据库的首选,而且heroku上面不支持mysql,但是却大力支持PG,所以说,不得不学学PG,并非迫不得已的样子,至少以后PG会比较流行 ...
- php底层HashTable的实现
本文转载自: http://segmentfault.com/blog/tree/1190000000718519 HashTable对PHP来说是一种非常重要的数据结构.很多PHP的内部实现(变量 ...
- am335x USB 驱动框架记录
参考: http://processors.wiki.ti.com/index.php/AM335x_USB_Driver%27s_Guide http://processors.wiki.ti.co ...
- 去除idea15重复代码校验
- SpringMVC拦截器简单使用
一.拦截器的配置 1.传统的配置 Xml代码 <bean class="org.springframework.web.servlet.mvc.annotation.Default ...