sql server 2005中使用with实现递归的方法

代码如下:

WITH fw_requestion_note_temp(old_apply_id) AS ( --取根节点放入临时表
SELECT old_apply_id FROM fw_requestion_note --WHERE old_apply_id = 'e741470e-8b5c-4f91-9b03-c7474d103aef'
--根据已取到的数据递归取其字节点的数据

UNION ALL SELECT fw.old_apply_id FROM fw_requestion_note fw
 INNER JOIN fw_requestion_note_temp temp ON fw.apply_id = temp.old_apply_id ) SELECT old_apply_id FROM fw_requestion_note_temp

(0)

相关推荐

  • sql server 2005中使用with实现递归的方法

    复制代码 代码如下: WITH fw_requestion_note_temp(old_apply_id) AS ( --取根节点放入临时表 SELECT old_apply_id FROM fw_requestion_note --WHERE old_apply_id = 'e741470e-8b5c-4f91-9b03-c7474d103aef' --根据已取到的数据递归取其字节点的数据 UNION ALL SELECT fw.old_apply_id FROM fw_requestion_

  • SQL Server 2005中更改sa的用户名的方法

    修改数据库SA账号名称的代码如下: 复制代码 代码如下: Alter LOGIN sa DISABLE Alter LOGIN sa WITH NAME = [systemAccount] "systemAccount" 为SA的新名称,执行完成后刷新一下右侧登录名即可看到修改成功的账号名称. SQL Server 2005修改sa用户密码的方法图文版 一.修改SQL Server 2005中sa用户密码的方法 1. 点击"开始 - 所有程序 - Microsoft SQL

  • SQL server 2005中设置自动编号字段的方法

    如果希望重新定义在表中添加新记录时该列中自动生成并存储于列中的序列号,则可以更改该列的标识属性.在每个表中只能设置一个列的标识属性. 具有标识属性的列包含系统生成的连续值,该值唯一地标识表中的每一行(例如,雇员标识号).在包含标识列的表中插入值时,Microsoft SQL Server 将基于上一次使用的标识值(标识种子属性)和在创建列时指定的增量值(标识增量属性)自动生成下一个标识符. 注意: 只能为不允许空值且数据类型为 decimal.int.numeric.smallint.bigin

  • SQL Server 2005 中使用 Try Catch 处理异常

    TRY...CATCH是Sql Server 2005/2008令人印象深刻的新特性.提高了开发人员异常处理能力.没有理由不尝试一下Try.. Catch功能. * TRY 块 - 包含可能产生异常的代码或脚本 * CATCH 块 - 如果TRY块出现异常,代码处理流将被路由到CATCH块.在这里你可以处理异常,记录日志等. Sql Server中的Try Catch和C#,JAVA等语言的处理方式一脉相承.这种一致性才是最大的创新之处. 一.SQL SERVER 2000中异常处理 CREAT

  • SQL Server 2005中的外联结用法

    SQL Server 2005中的外联结用法一: 有两个表:学生表,学生选课表,表中数据为: 学生表: 学生选课表: 要查看所有学生的选课信息, 标准的SQL语句,外联结语句为 use stu_course select L.sno,sname,ssex,sage,sdept,cno,grade from student L,sc where L.sno=sc.sno(*) 理论上的结果为: 但是,在SQLServer2005中运行会出现错误,错误提示为: 消息 102,级别 15,状态 1,第

  • SQL Server 公用表表达式(CTE)实现递归的方法

    公用表表达式简介: 公用表表达式 (CTE) 可以认为是在单个 SELECT.INSERT.UPDATE.DELETE 或 CREATE VIEW 语句的执行范围内定义的临时结果集.CTE 与派生表类似,具体表现在不存储为对象,并且只在查询期间有效.与派生表的不同之处在于,公用表表达式 (CTE) 具有一个重要的优点,那就是能够引用其自身,从而创建递归 CTE.递归 CTE 是一个重复执行初始 CTE 以返回数据子集直到获取完整结果集的公用表表达式. 下面先创建一个表,并插入一些数据: crea

  • 在SQL Server 2005中创建CLR存储过程的详细介绍

    在2005之前的版本创建存储过程都是在数据库里面写Transact-SQL语言实现的,不过现在SQL Server 2005支持用其他面向对象的语言编写CLR存储过程了,关于这样做的好处,官方有很多解释了,这里就直接说明实现方法了. 假设服务器里面有个test数据库,数据库有个架构user,还有一个表test1,然后有个sql登陆用户叫test_user,将这个用户设置成VS2005里面数据库连接的登陆用户. 在VS2005中创建一个项目,类别是SQL Server数据库项目,然后往项目里面添加

  • SQL Server 2005删除日志文件的几种方法小结

    使用MS数据库的朋友就会知道一个问题,C盘的空间很容易被占满了.因为本来系统盘就分区比较小,这是由于数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间.SQL Server数据库都有log文件,log文件记录用户对数据库修改的操作.可以通过直接删除log文件和清空日志在清除数据库日志. 一.删除LOG1.分离数据库.分离数据库之前一定要做好数据库的全备份,选择数据库--右键--任务--分离. 勾选删除连接 分离后在数据库列表将看不到已分离的数据库. 2.删除LO

  • SQL Server 2005 中做全文检索的方法分享

    /*打开全文索引支持,启动SQL Server的全文搜索服务 */ execute sp_fulltext_database 'enable' /*创建全文目录*/ EXEC SP_FULLTEXT_CATALOG 'FT_testData','CREATE' /*建立全文索引数据元*/ EXEC sp_fulltext_table 'Hc_Book_Book','CREATE','FT_testData','PK_Hc_Book_BookInfo' /*添加支持全文索引的列名*/ EXEC s

  • Sql Server 2005中查询用分隔符分割的内容中是否包含其中一个内容

    今天做项目遇到一个问题, 有产品分类A,B,C顶级分类, 期中A下面有a1,a2,a3子分类. 但是a1可能共同属于A和B,然后我的数据库是这样设计的       id           name         parnet   1 A 0 2 B 0 3 a1 1,2 如果想要查询A的所有子类的话就要查询parent中包含1的,所以就萌生了这个办法.呵呵, 暂时没什么好办法,欢迎拍砖~~ 另外,这个东西我想弄成bool返回值的,哪位兄弟会的希望帮忙解决一下.... 复制代码 代码如下: S

随机推荐