数据库结构:

表内的数据:

自定义函数: 递归查出 树下所有节点 ,参数是 父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 自定义函数 返回树结构函数相关推荐

  1. sql server 自定义函数的使用

    sql server 自定义函数的使用 自定义函数 用户定义自定义函数像内置函数一样返回标量值,也可以将结果集用表格变量返回 用户自定义函数的类型: 标量函数:返回一个标量值 表格值函数{内联表格值函 ...

  2. SQL SERVER中用户定义标量函数(scalar user defined function)的性能问题

    SQL SERVER中用户定义标量函数(scalar user defined function)的性能问题 原文:SQL SERVER中用户定义标量函数(scalar user defined fu ...

  3. SQL Server几个常用Date函数(二)

    在上一节SQL Server几个常用Date函数(一)中我们介绍了下表中前两个date函数,本节继续学习下面三个函数. 函数 描述 GETDATE() 返回当前日期和时间 CONVERT() 用不同的 ...

  4. SQL Server 和 Oracle 的常用函数对比

    SQL Server 和 Oracle 的常用函数对比 ---------数学函数 1.绝对值 S:select abs(-1) value O:select abs(-1)  value from ...

  5. SQL Server 2016 COMPRESS 和 DECOMPRESS 函数

    SQL Server 2016 COMPRESS 和 DECOMPRESS 函数 英文原文: https://www.simple-talk.com/blogs/2015/12/24/compress ...

  6. SQL SERVER中LEAD和LAG函数

    SQL SERVER中LEAD和LAG函数 LEAD和LAG函数 LEAD 访问相同结果集的后续行中的数据,而不使用 SQL Server 2012 中的自联接. LEAD 以当前行之后的给定物理偏移 ...

  7. mysql union all sum_[数据库]SQL Server UNION ALL 结果 SUM函数造成精度丢失

    [数据库]SQL Server UNION ALL 结果 SUM函数造成精度丢失 0 2020-08-03 18:00:30 SQL Server 数据类型 使用场景: 在进行多维度汇总数据时,需要将 ...

  8. Sql server 2005 中的dense_rank()函数的应用

    sql server 2005 排名提供dense_rank() 函数.实现起来非常简单. 示例如下: declare @t table(place int,score int) insert int ...

  9. SQL Server 自定义快捷键

    SQL Server 自定义快捷键 SQL Server程序员经常要在SSMS(SQL Server Management Studio)或查询分析器(2000以前)中编写T-SQL代码.以下几个技巧 ...

最新文章

  1. 【技术】Qt对话框讲解
  2. 深入浅出WPF之Binding的使用(一)
  3. Android仿人人客户端(v5.7.1)——对从服务器端(网络)获取的图片进行本地双缓存处理(流程图或活动图)...
  4. ERP沙盘模拟实验报告
  5. SQL创建数据库– PostgreSQL,MySQL,SQL Server
  6. 小白重装系统教程_小白重装系统使用教程
  7. django 用auth的login后重定向
  8. 反编译获取任何微信小程序源码(完)
  9. mac电脑网游加速器哪个好用?网易uu网游加速器分享
  10. colmak键盘_萌神进化 IKBC 新POKER2机械键盘体验
  11. Common IO 使用小结
  12. 浏览器报错 CORS 请求不是 http
  13. 思科VLAN Trunk
  14. 免费ofd在线转PDF
  15. 利用移动硬盘+路由器搭建局域网云存储
  16. vulnhub——Earth靶机
  17. win10计算机无法识别u盘,win10电脑无法识别U盘应该如何解决
  18. tanh () 函数
  19. 从 0 到 1 学习 elasticsearch ,这一篇就够了!(建议收藏)
  20. Mysql 多表连接查询

热门文章

  1. [react] react的性能优化在哪个生命周期?它优化的原理是什么?
  2. 前端学习(3260):js高级教程(4)instanceof
  3. 前端学习(3224):字符串形式
  4. 前端学习(3025):vue+element今日头条管理-关于默认子路由的问题
  5. [html] 如何阻止屏幕旋转时自动调整字体的大小?
  6. [css] 你有没有使用过“形似猫头鹰”(例:`* + *{ ... }`) 的选择器?
  7. 工作271:打开弹出框调用当前页面接口
  8. 前端学习(2698):重读vue电商网站19之处理图片预览操作
  9. 工作183:动态渲染数据 数据在数字字典里面
  10. 前端学习(2454):用户登录