我爱Aspx >> Asp.Net >> SQL在存储过程中使用递归尽管阶乘机制非常美妙,但在日常编程中似乎没有多少机会用到。然而,上面的代码还是精确的展示了递归的基本原理和具体的实践。
在一些实际问题中,递归都将是一种有价值的编程技巧。其中一个经典的编程问题名为“BillofMaterials(用料单)”。该问题有至少两种应用:
给出所需对象的一个实例,求出构造此实例的用料单;
指定组成某个对象的若干对象的详细目录,求出能够构造出多少对象?
现在让我们来假设我们已经有了对象O,它是由四个X对象和三个Y对象以及七个Z对象组成。因此,要构造一个单独的O对象显然我们将会需要四个X对象、三个Y对象和七个Z对象。然而,对象Y和Z都需要一定数量的Q对象(例如对螺丝指定周长、螺栓样式、螺帽样式)。因此我们需要分析对象Y和X,确定它们所需要的Q对象个数,然后再确定我们能提供相应总数。如果不能,那么我们将无法创建对象Q。
SQLServer2000无法较方便的解决这一问题,除非你能够提前知道递归层次。然而,SQL2005测试版在这一问题上已经进行了很长时间的研究。SQL项目负责人JoeCelko提供了非常巧妙的解决办法,该办法涉及到在行插入(row-insert)时间对递归层次进行跟踪。这一解决方案非常有用,但需要使用触发器或类似机制通过每一次插入、更新或删除来更新层次深度队列。你可以查看这种方法在Access下的实现。随后就可以方便的将这种解决方案引入到SQLServer中,并根据自己的需要进行修改。
Ҷƪл˵?
自动生成sql setup.iss这个无人值..[05-20]
SQL Server无人值守安装[05-20]
SQL Server无人值守安装[05-20]
解决 SQL Server 耗尽内存的情况[05-20]
利用SQLDMO备份还原SQL SERVER[05-20]
Sql Server 常用函数[05-20]
一个用asp备份与恢复SQL Server数..[05-20]
一个用asp备份与恢复SQL Server数..[05-20]
基于SQL Server的WEB应用程序注入..[05-20]
SQL注入漏洞全接触[05-20]
如何获取 IP 用户名 等信息[05-20]
UTF-8 and Unicode FAQ[05-20]
使用ICallbackEventHandler接口实..[05-20]
不用.net和其组件用asp访问webse..[05-20]
PageTemplate(页模板)[05-20]
ASP.NET 页面对象模型[05-20]
ADO.NET中的多数据表操作之读取[05-20]
ASP.NET里的事务处理[05-20]
ASP.NET中使用Caching[05-20]
一个文件上传的类[05-20]