(面试) 数据库无限极设置
来源:互联网 发布:面向对象编程的特点 编辑:程序博客网 时间:2024/04/26 13:26
查看复制到剪切板打印
--测试数据
CREATE TABLE tb(ID char(3),PID char(3),Name nvarchar(10))
INSERT tb SELECT '001',NULL ,'山东省'
UNION ALL SELECT '002','001','烟台市'
UNION ALL SELECT '004','002','招远市'
UNION ALL SELECT '003','001','青岛市'
UNION ALL SELECT '005',NULL ,'四会市'
UNION ALL SELECT '006','005','清远市'
UNION ALL SELECT '007','006','小分市'
GO
--查询指定节点及其所有子节点的函数
CREATE FUNCTION f_Cid(@ID char(3))
RETURNS @t_Level TABLE(ID char(3),Level int)
AS
BEGIN
DECLARE @Level int
SET @Level=1
INSERT @t_Level SELECT @ID,@Level
WHILE @@ROWCOUNT>0
BEGIN
SET @Level=@Level+1
INSERT @t_Level SELECT a.ID,@Level
FROM tb a,@t_Level b
WHERE a.PID=b.ID
AND b.Level=@Level-1
END
RETURN
END
GO
--调用函数查询002及其所有子节点
SELECT a.*
FROM tb a,f_Cid('002') b
WHERE a.ID=b.ID
/*--结果
ID PID Name
------ ------- ----------
002 001 烟台市
004 002 招远市
--*/
查看复制到剪切板打印
CREATE FUNCTION f_Pid(@ID char(3))
RETURNS @t_Level TABLE(ID char(3),Level int)
AS
BEGIN
DECLARE @Level int
SET @Level=1
INSERT @t_Level SELECT @ID,@Level
WHILE @@ROWCOUNT>0
BEGIN
SET @Level=@Level+1
INSERT @t_Level SELECT a.PID,@Level
FROM tb a,@t_Level b
WHERE a.ID=b.ID
AND b.Level=@Level-1
END
RETURN
END
GO
--上面的用户定义函数可以处理一个节点有多个父节点的情况,对于标准的树形数据而言,由于每个节点仅有一个父节点,所以也可以通过下面的用户定义函数实现查找标准树形数据的父节点。
CREATE FUNCTION f_Pid(@ID char(3))
RETURNS @t_Level TABLE(ID char(3))
AS
BEGIN
INSERT @t_Level SELECT @ID
SELECT @ID=PID FROM tb
WHERE ID=@ID
AND PID IS NOT NULL
WHILE @@ROWCOUNT>0
BEGIN
INSERT @t_Level SELECT @ID
SELECT @ID=PID FROM tb
WHERE ID=@ID
AND PID IS NOT NULL
END
RETURN
END
- (面试) 数据库无限极设置
- 无限极下拉列表数据库和代码
- 无限路由器的设置
- 无限极数据库设计和实现逻辑分析
- 无限极
- ViewPager设置广告位,无限滚动
- ASP无限分类数据库版
- 数据库设计无限级分类
- 数据库绑定TreeView,无限层级
- ASP无限分类数据库版
- 无限扩展字段数据库设计
- 无限容量数据库架构设计
- 数据库面试
- 数据库面试
- 数据库面试
- 数据库面试
- 数据库面试
- 面试-数据库
- Android 面试
- VS.NET 控件命名规范
- lua 计算阶乘
- 程序员编程生产力相差10倍意味着什么?
- 最近的面试笔试题总结
- (面试) 数据库无限极设置
- windows下使用批处理发布Web应用到Tomcat并启动Tomcat
- (面试)泛型的优点(C# 编程指南)
- awk 正则表达式
- 自己改成一般处理程序的数字字符汉字验证码
- 1.9G的视频被压缩为64K
- 正则表达式差异比较
- SILK : SILK_RTP_PayloadFormat 中文翻译(一)
- PHP消息队列httpsqs安装与使用无错版