当前位置:首页 > 系统运维 > 正文内容

SQL Server 2005使用关系数据库存储CFG的信息

a8116255316年前 (2010-06-17)系统运维9

本文主要向大家介绍的是用SQL Server 2005使用关系数据库存储CFG(控制流程图)的信息。在查询时,我们为了要得到所有dominate关系的相关结果,我们使用了CTE来进行递归查询。SQL Server 2005使用关系数据库存储CFG简单例子如下:

1. 现有表testRe结构如下

2. 欲得到的查询结果为找到id=’a'的项的所有pId,即b、c、d。

3. 使用CTE做递归查询:

WITH Re_CTE(id, pId, Level)  Technorati 标签: sql server,CTE,递归,查询  AS  (  SELECT id, pId, 1 AS [Level]  FROM testRe  WHERE id=’a’  UNION ALL  SELECT t.id, t.pId, [Level] + 1  FROM testRe t INNER JOIN Re_CTE ct  ON t.id=ct.pId  )  SELECT * FROM Re_CTE  

其中,Level为可选项

4. SQL Server 2005使用关系数据库存储CFG,查询结果为:

5. CTE的简单说明(参考MSDNhttp://msdn.microsoft.com/zh-cn/library/ms186243%28SQL.90%29.ASPx):

WITH cte_name(column_name [,...n])  AS  (  CTE_query_definition –- Anchor member is defined.  UNION ALL  CTE_query_definition –- Recursive member is defined referencing cte_name.  )  – Statement using the CTE  SELECT *  FROM cte_name  

一个递归 CTE 结构必须至少包含一个定位点成员和一个递归成员。

执行时:

将 CTE 表达式拆分为定位点成员和递归成员。

运行定位点成员,创建之一个调用或基准结果集 (T0)。

运行递归成员,将 Ti 作为输入,将 Ti+1 作为输出。

重复步骤 3,直到返回空集。

返回结果集。这是对 T0 到 Tn 执行 UNION ALL 的结果。

上述的相关内容就是对SQL Server 2005使用关系数据库存储CFG的描述,希望会给你带来一些帮助在此方面。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://2345hao.cn/blog/index.php/post/21212.html

分享给朋友:

“SQL Server 2005使用关系数据库存储CFG的信息” 的相关文章

windows 7系统开机提示press any key to restart的故障分析及解

windows 7系统开机提示press any key to restart的故障分析及解

Windows 7 64位系统开机后提示"press any key to restart",无法进入系统了,具体现象如下所示: 故障分析: 故障的主要原因还是硬盘的问题,可以先检查是不是接触不良或坏了,进行修复或更换即可。 解决方法: 1、开机按F8不动到高级选项出现在松手,选“...

Windows7开机后出现黑一下屏性能降低

Windows7开机后出现黑一下屏性能降低

打开IE浏览器的时候、聊QQ的时候、玩游戏的时候… … 这到底是谁惹的祸呢? 很多人都知道Windows 7桌面特效全部开启会使系统性能降低,那到底是哪个特效导致的这一情况呢? 解决办法: 右键计算机,高级系统设置-性能-设置-关闭”任务栏和开始菜单使用动画“和”最大化和最小化动态显示窗口“...

微软今天正式停止对windows 7的主流支持

微软今天正式停止对windows 7的主流支持

北京时间1月13日消息,根据计划,微软将于2015年1月13日正式结束对Windows 7SP1的“主流支持”,而这也标志着“扩展支持”阶段的开始,这个阶段将于2020年1月14日结束。 2013年10月份,微软终止销售独立的Windows 7系统安装包,并要求制造商于2014年10月份停止生...

windows 7如何给c盘扩容 图解windows 7 64位系统C盘扩容方法(自

windows 7如何给c盘扩容 图解windows 7 64位系统C盘扩容方法(自

用Windows 7久了,C盘越来越大,原来50G的空间基本用完了,又不想重装系统,就想着能不能直接扩容。 在网上搜了半天,看了无数教程,都写得不明不白的,结合了几篇教程才终于搞明白。 重新总结一下,方便有需要的人。 所用软件: http://www.jb51.net/softs/57895...

Ubuntu14.04不支持U盘exfat格式该如何解决

Ubuntu14.04不支持U盘exfat格式该如何解决

exfat是U盘的文件系统,很多系统都支持exfat格式的使用,但Ubuntu系统并不支持exfat格式,要如何处理呢?下面小编就给大家介绍下Ubuntu14.04不支持u盘exfat格式的解决方法,一起来了解下吧。 很多用户都想知道为什么要U盘使用exfat格式呢?主要有以下两种原因: 1...

Ubuntu修改命令提示符PS1教程(非常详细)

Ubuntu修改命令提示符PS1教程(非常详细)

Ubuntu在使用命令的时候,有时需要修改命令提示符PS1,可很多人并不知道如何修改PS1,下面小编就给大家介绍下Ubuntu如何修改命令提示符PS1,一起来学习下吧。 命令多行输入不方便也不直观,要想修改这个命令提示符。修改~/.bashrc文件中的PS1即可。 PS1是主要的提示符设置,...