递归式指代码片段调用自身的情况;危险之处在于:如果调用了自身一次,那么如何防止他反复地调用自身。也就是说提供递归检验来保证适当的时候可以跳出。
以阶层为例子说存储过程中递归的调用。
递归
CREATE PROC [dbo].[usp_spFactorial]
@InputValue INT,
@OuputValue INT OUTPUT
AS
BEGIN
DECLARE @InValue INT;
DECLARE @OutValue INT;
IF(@InputValue!=1)
BEGIN
SET @InValue = @InputValue - 1;
EXEC spFactorial @InValue,@OutValue OUTPUT;
SELECT @OuputValue = @InputValue * @OutValue;
END
ELSE
BEGIN
SET @OuputValue = 1;
END
END
当创建此存储过程时候,会遇见一条报告信息
您可能感兴趣的文章:
- SQLserver2008使用表达式递归查询
- sqlserver另类非递归的无限级分类(存储过程版)
- SQLSERVER2005 中树形数据的递归查询
- 使用SQLSERVER 2005/2008 递归CTE查询树型结构的方法
- Sql学习第三天——SQL 关于CTE(公用表达式)的递归查询使用
- 使用SqlServer CTE递归查询处理树、图和层次结构