SQL Server 自定义函数 返回树结构函数
数据库结构:
表内的数据:
自定义函数: 递归查出 树下所有节点 ,参数是 父id
create function sss(@id as int)returns @t table(id int not null,name int not null,pid int null)asbegindeclare @lay as int;insert into @t select * from tree where pid =@id;select @lay = min(id) from tree where pid =@id; --第一次 @lay=5while @lay is not nullbegininsert into @t select * from sss(@lay);select @lay=min(id) from treewhere id>@lay and pid=@idendreturn;endgo
.net代码:
string cons = ConfigurationManager.ConnectionStrings["ApplicationServices"].ToString();using (SqlConnection con=new SqlConnection(cons)){if (con.State==ConnectionState.Closed){con.Open();}string sql = "select * from sss(@id)";SqlCommand cmd = new SqlCommand(sql,con);cmd.CommandType = CommandType.Text;cmd.Parameters.Add(new SqlParameter("@id", DbType.Int32)).Value = 4;cmd.Parameters.Add("@re",DbType.String);cmd.Parameters["@re"].Direction = ParameterDirection.ReturnValue;SqlDataReader dr = cmd.ExecuteReader();while (dr.Read()){int i = 0;Response.Write(dr[0].ToString() + "\t\t\t" +dr[1].ToString() +"\t\t\t"+ dr[2].ToString() + "</br>");i++;}con.Close();
}
实现的效果如下:
转载于:https://www.cnblogs.com/lgzh3/archive/2012/11/01/2749988.html
SQL Server 自定义函数 返回树结构函数相关推荐
- sql server 自定义函数的使用
sql server 自定义函数的使用 自定义函数 用户定义自定义函数像内置函数一样返回标量值,也可以将结果集用表格变量返回 用户自定义函数的类型: 标量函数:返回一个标量值 表格值函数{内联表格值函 ...
- SQL SERVER中用户定义标量函数(scalar user defined function)的性能问题
SQL SERVER中用户定义标量函数(scalar user defined function)的性能问题 原文:SQL SERVER中用户定义标量函数(scalar user defined fu ...
- SQL Server几个常用Date函数(二)
在上一节SQL Server几个常用Date函数(一)中我们介绍了下表中前两个date函数,本节继续学习下面三个函数. 函数 描述 GETDATE() 返回当前日期和时间 CONVERT() 用不同的 ...
- SQL Server 和 Oracle 的常用函数对比
SQL Server 和 Oracle 的常用函数对比 ---------数学函数 1.绝对值 S:select abs(-1) value O:select abs(-1) value from ...
- SQL Server 2016 COMPRESS 和 DECOMPRESS 函数
SQL Server 2016 COMPRESS 和 DECOMPRESS 函数 英文原文: https://www.simple-talk.com/blogs/2015/12/24/compress ...
- SQL SERVER中LEAD和LAG函数
SQL SERVER中LEAD和LAG函数 LEAD和LAG函数 LEAD 访问相同结果集的后续行中的数据,而不使用 SQL Server 2012 中的自联接. LEAD 以当前行之后的给定物理偏移 ...
- mysql union all sum_[数据库]SQL Server UNION ALL 结果 SUM函数造成精度丢失
[数据库]SQL Server UNION ALL 结果 SUM函数造成精度丢失 0 2020-08-03 18:00:30 SQL Server 数据类型 使用场景: 在进行多维度汇总数据时,需要将 ...
- Sql server 2005 中的dense_rank()函数的应用
sql server 2005 排名提供dense_rank() 函数.实现起来非常简单. 示例如下: declare @t table(place int,score int) insert int ...
- SQL Server 自定义快捷键
SQL Server 自定义快捷键 SQL Server程序员经常要在SSMS(SQL Server Management Studio)或查询分析器(2000以前)中编写T-SQL代码.以下几个技巧 ...
最新文章
- JAVA项目代码手写吗_一个老程序员是如何手写Spring MVC的
- STM32 基础系列教程 39 - Lwip_tftp
- Microsoft SQL Server SA权限最新入侵方法
- 消息队列设计的精髓基本都藏在本文里了
- 原来Python破解受密码保护的zip文件这么简单,不保证一定成功
- 最佳实践丨构建云上私有池(虚拟IDC)的5种方案详解
- html2canvas 截图div_H5快照截图[html2canvas]+图片下载
- Linux下构建自己的C++共享库并配合pkg-config生成链接选项
- 君君喂大象C语言答案,2017年北师大版二年级语文上册句子专项复习题及答案
- mysql invalid default value_mysql5.x升级到5.7 导入数据出错,提示Invalid default value for...
- Map集合的遍历方法
- Oracle 10g闪回恢复区 (Flash Recovery Area)
- php7 opcache 编译,PHP7中用opcache.file_cache导出脚本opcode实现源代码保护
- 搞了一个更完善的javaagent项目结构
- 小米电视换鸿蒙,DIY 篇一:迟来的小米电视主机改造,完美增加红外接收(红外遥控)...
- Linux电镜分析,环境扫描电子显微镜特点
- java科学计数法的基本使用与如何看科学计数法
- 阿里云短信类最新版dysmsapi.aliyuncs.com
- chrome浏览器安装右键翻译插件
- Qt Quick Dialogs
热门文章
- 在中断程序里修改全局变量的童鞋注意啦~(C中的volatile作用 转载~)
- [react] react16的reconciliation和commit分别是什么?
- [js] 说说你对JS中暂性死区的理解,它有什么运用场景?
- 工作171:阅读账号里面的新增调用接口操作
- 工作97:父子组件传值
- “约见”面试官系列之常见面试题之第八十三篇之node.js理解(建议收藏)
- 前端学习(2184):tabber--封装成独立的组件
- 前端学习(593):使用devtools作为代码编辑器
- mybatis学习(35):sql-where
- java学习(162):同步对象锁