SQL在存储过程中使用递归
来源:互联网 发布:sql union all用法 编辑:程序博客网 时间:2024/04/28 23:21
递归的基本概念非常简单:一段给定的代码对自身进行调用,直到某些边界条件得到满足。在本文中,我们将演示如何在T-SQL中使用递归。
在我的眼中,递归是最为精致的程序结构之一。我已经在许多场合用不同的编程语言实现过它。递归的基本概念非常简单:一段给定的代码对自身进行调用,直到某些边界条件得到满足。我将通过下面的内容展示如何在T-SQL中使用递归。我所用到的是递归的经典例子:阶乘计算。
阶乘的意思就是将小于等于这一数字的所有数字相乘,直至乘到2。例如,factorial(10)即等于10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2(你也可以加上“*1”,但似乎是多此一举)。
以下代码即实现了阶乘:
CREATE PROCEDURE [dbo].[Factorial_ap]
(
@Number Integer,
@RetVal Integer OUTPUT
)
AS
DECLARE @In Integer
DECLARE @Out Integer
IF @Number!= 1
BEGIN
SELECT @In = @Number – 1
EXECFactorial_ap @In, @Out OUTPUT
SELECT @RetVal = @Number * @Out
END
ELSE
BEGIN
SELECT @RetVal = 1
END
RETURN
GO<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- SQL在存储过程中使用递归
- SQL在存储过程中使用递归 http://www.builder.com.cn/2005/0530/192627.shtml
- 在存储过程中使用动态sql
- 在.net中使用sql存储过程
- SQL 在存储过程中使用游标
- 在 DB2 SQL 存储过程中使用 XML
- 存储过程: 函数 不能在SQL中使用
- 在SQL SERVER 2005存储过程中,使用循环语句
- 在SQL 语句中使用存储过程的结果集
- 如何在C#中使用存储过程(SQL Server 2000)
- sql T_sql 在存储过程中使用事务Trans 例子
- 在C#中使用SQL存储过程说明
- 在SQL SERVER 2005存储过程中,使用循环语句
- 在C#中使用SQL存储过程说明
- 中信房屋:SQL Server在存储过程中使用游标
- 在C# 中使用存储过程访问 SQL 数据库
- sql server 在存储过程中使用事物
- 存储过程中使用游标(在存储过程中遍历表)<sql>
- SQL增、删、改、查操作语句
- 用SQL 2000传输数据
- 使用SQL*Loader加载对象
- 用SQL测试具有百万条记录的数据库
- 存储过程增、删、改、查操作语句
- SQL在存储过程中使用递归
- 陈云在长征途中为何神秘失踪?
- 使用ADO.NET配置SQL Server事务处理
- ASP.NET2.0——使用皮肤
- 三层结构之数据类层
- [SQL]联系使用Excel和SQL
- C#实现3DES加密24位密钥
- 喇叭花日记080428
- [SQL]向SQL2k移植SQL 7数据库