数据库结构:

表内的数据:

自定义函数: 递归查出 树下所有节点 ,参数是 父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. JAVA项目代码手写吗_一个老程序员是如何手写Spring MVC的
  2. STM32 基础系列教程 39 - Lwip_tftp
  3. Microsoft SQL Server SA权限最新入侵方法
  4. 消息队列设计的精髓基本都藏在本文里了
  5. 原来Python破解受密码保护的zip文件这么简单,不保证一定成功
  6. 最佳实践丨构建云上私有池(虚拟IDC)的5种方案详解
  7. html2canvas 截图div_H5快照截图[html2canvas]+图片下载
  8. Linux下构建自己的C++共享库并配合pkg-config生成链接选项
  9. 君君喂大象C语言答案,2017年北师大版二年级语文上册句子专项复习题及答案
  10. mysql invalid default value_mysql5.x升级到5.7 导入数据出错,提示Invalid default value for...
  11. Map集合的遍历方法
  12. Oracle 10g闪回恢复区 (Flash Recovery Area)
  13. php7 opcache 编译,PHP7中用opcache.file_cache导出脚本opcode实现源代码保护
  14. 搞了一个更完善的javaagent项目结构
  15. 小米电视换鸿蒙,DIY 篇一:迟来的小米电视主机改造,完美增加红外接收(红外遥控)...
  16. Linux电镜分析,环境扫描电子显微镜特点
  17. java科学计数法的基本使用与如何看科学计数法
  18. 阿里云短信类最新版dysmsapi.aliyuncs.com
  19. chrome浏览器安装右键翻译插件
  20. Qt Quick Dialogs

热门文章

  1. 在中断程序里修改全局变量的童鞋注意啦~(C中的volatile作用 转载~)
  2. [react] react16的reconciliation和commit分别是什么?
  3. [js] 说说你对JS中暂性死区的理解,它有什么运用场景?
  4. 工作171:阅读账号里面的新增调用接口操作
  5. 工作97:父子组件传值
  6. “约见”面试官系列之常见面试题之第八十三篇之node.js理解(建议收藏)
  7. 前端学习(2184):tabber--封装成独立的组件
  8. 前端学习(593):使用devtools作为代码编辑器
  9. mybatis学习(35):sql-where
  10. java学习(162):同步对象锁