`
java-mans
  • 浏览: 11416057 次
文章分类
社区版块
存档分类
最新评论

T-Sql ,自定义函数,返回递归结果集

 
阅读更多

写程序是总是用到父子关系的数据,通过给定节点得到其子节点的记录,写视图但是不支持传入参数。

那就用 自定义函数来完成这个需求吧!

1.创建视图

create Function myFunc(@id Int)
Returns @tab table (id int,ParentId int,[Level] int,TName nvarchar(50))
As
begin

--DECLARE @typeId int;
--set @typeId =6;
with cte as
(
select * from tab where id= @id
union all
select a.* from tab a, cte b
where a.parentid = b.id
)
insert @tab select id ,ParentId,[Level],TName from cte;
return
End

2.表值函数调用

select * from dbo.myFunc(6)

转载保留:http//www.iqingcao.com

分享到:
评论

相关推荐

    Microsoft SQL Server 2008技术内幕:T-SQL查询(第二卷)

    《Microsoft SQL Server 2008技术内幕:T-SQL查询》全面深入地介绍了Microsoft SQL Server 2008中高级T-SQL查询、性能优化等方面的内容,以及SQL Server 2008新增加的一些特性。主要内容包括SQL的基础理论、查询优化...

    Microsoft+SQL+Server+2008技术内幕:T-SQL查询_源代码及附录 中文版

    《Microsoft SQL Server 2008技术内幕:T-SQL查询》全面深入地介绍了Microsoft SQL Server 2008中高级T-SQL查询、性能优化等方面的内容,以及SQL Server 2008新增加的一些特性。主要内容包括SQL的基础理论、查询优化...

    SQLServer2008技术内幕T-SQL查询包含源代码及附录A

    《Microsoft SQL Server 2008技术内幕:T-SQL查询》全面深入地介绍了Microsoft SQL Server 2008中高级T-SQL查询、性能优化等方面的内容,以及SQL Server 2008新增加的一些特性。主要内容包括SQL的基础理论、查询优化...

    SQL Function 自定义函数详解

    1. 能够在select等SQL语句中直接使用自定义函数,存储过程不行。 2. 自定义函数可以调用其他函数,也可以调用自己(递归) 3. 可以在表列和 CHECK 约束中使用自定义函数来实现特殊列或约束 4. 自定义函数不能有...

    MySQL通过自定义函数实现递归查询父级ID或者子级ID

    主要介绍了MySQL通过自定义函数实现递归查询父级ID或者子级ID,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

    经典SQL脚本大全

    │ │ 2.5.3 工作日处理函数(自定义节假日).sql │ │ 2.5.4 计算工作时间的函数.sql │ │ │ └─其他 │ 交叉表.sql │ 任意两个时间之间的星期几的次数-横.sql │ 任意两个时间之间的星期几的次数-纵.sql │ ...

    MySQL实现递归查询的三种方式.rar

    MySQL递归查询 三种实现方式,方式一:使用自定义函数实现,方式二:纯SQL实现,方式三:适用于MySQL8及以上使用 WITH RECURSIVE实现

    SQL Server 2008高级程序设计 2/6

     8.3 使用T-SQL编辑视图  8.4 删除视图  8.5 审核:显示现有代码  8.6 保护代码:加密视图  8.7 关于模式绑定  8.8 使用VIEW METADATA使自己的视图看起来像一个表  8.9 索引(物化)视图  8.10 分区...

    SQL Server 2008高级程序设计 4/6

     8.3 使用T-SQL编辑视图  8.4 删除视图  8.5 审核:显示现有代码  8.6 保护代码:加密视图  8.7 关于模式绑定  8.8 使用VIEW METADATA使自己的视图看起来像一个表  8.9 索引(物化)视图  8.10 分区...

    精通SQL--结构化查询语言详解

    15.3 sql server中的存储过程和函数 308 15.3.1 系统存储过程 308 15.3.2 使用create procedure创建存储过程 309 15.3.3 使用execute语句调用存储过程 310 15.3.4 使用create function创建函数 312 15.3.5 使用...

    SQL Server 2008高级程序设计 1/6

     8.3 使用T-SQL编辑视图  8.4 删除视图  8.5 审核:显示现有代码  8.6 保护代码:加密视图  8.7 关于模式绑定  8.8 使用VIEW METADATA使自己的视图看起来像一个表  8.9 索引(物化)视图  8.10 分区...

    SQL Server 2008高级程序设计 3/6

     8.3 使用T-SQL编辑视图  8.4 删除视图  8.5 审核:显示现有代码  8.6 保护代码:加密视图  8.7 关于模式绑定  8.8 使用VIEW METADATA使自己的视图看起来像一个表  8.9 索引(物化)视图  8.10 分区...

    Sqlserver2000经典脚本

    │ 2.5.3 工作日处理函数(自定义节假日).sql │ │ 2.5.4 计算工作时间的函数.sql │ │ │ └─其他 │ 交叉表.sql │ 任意两个时间之间的星期几的次数-横.sql │ 任意两个时间之间的...

    SQL Server 2008高级程序设计 5/6

     8.3 使用T-SQL编辑视图  8.4 删除视图  8.5 审核:显示现有代码  8.6 保护代码:加密视图  8.7 关于模式绑定  8.8 使用VIEW METADATA使自己的视图看起来像一个表  8.9 索引(物化)视图  8.10 分区...

    SQL Server 2008高级程序设计 6/6

     8.3 使用T-SQL编辑视图  8.4 删除视图  8.5 审核:显示现有代码  8.6 保护代码:加密视图  8.7 关于模式绑定  8.8 使用VIEW METADATA使自己的视图看起来像一个表  8.9 索引(物化)视图  8.10 分区...

    SQL Server 2008编程入门经典(第3版)

    1.1.8 用户自定义函数 1.1.9 用户和角色 1.1.10 规则 1.1.11 默认值 1.1.12 用户自定义数据类型 1.1.13 全文目录 1.2 SQL Server数据类型 1.3 SQL Server对象标识符 1.3.1 需要命名的对象 1.3.2 命名规则 1.4 本章小...

    精通SQL 结构化查询语言详解

    《精通SQ:结构化查询语言详解》全面讲解SQL语言,提供317个典型应用,读者可以随查随用,针对SQL Server和Oracle进行讲解,很有代表性。 全书共包括大小实例317个,突出了速学速查的特色。《精通SQ:结构化查询语言...

    SQL.Server.2008编程入门经典(第3版).part2.rar

    1.1.8 用户自定义函数 1.1.9 用户和角色 1.1.10 规则 1.1.11 默认值 1.1.12 用户自定义数据类型 1.1.13 全文目录 1.2 SQL Server数据类型 1.3 SQL Server对象标识符 1.3.1 需要命名的对象 1.3.2 命名规则 1.4 本章小...

Global site tag (gtag.js) - Google Analytics