Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Рекурсивна функция в sql сървър 2005?

Потърсете „общи таблични изрази“. Вижте също тази връзка

Актуализация Добавяне на пример от връзката по-горе:

;WITH Fibonacci(n, f, f1)
AS (
        -- This is the anchor part
        -- Initialize level to 1 and set the first two values as per definition
        SELECT  CAST(1 AS BIGINT),
                CAST(0 AS BIGINT),
                CAST(1 AS BIGINT)

        UNION ALL

        -- This is the recursive part
        -- Calculate the next Fibonacci value using the previous two values
        -- Shift column (place) for the sum in order to accomodate the previous
        -- value too because next iteration need them both
        SELECT  n + 1,
                f + f1,
                f
        FROM    Fibonacci
        -- Stop at iteration 93 because we than have reached maximum limit
        -- for BIGINT in Microsoft SQL Server
        WHERE   n < 93
)
-- Now the easy presentation part
SELECT  n,
        f AS Number
FROM    Fibonacci


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. TSQL - Добавяне на колона към всички таблици в база данни [ Пример за курсор]

  2. SQL присъединяване към корелирана подзаявка, където таблиците са свързани чрез припокриващи се диапазони

  3. SQL Server 2016:Импортиране на данни

  4. T-SQL подниз - разделяне на име и фамилия

  5. Групово ИЗТРИВАНЕ на SQL Server 2008 (Има ли нещо като групово копие (bcp) за изтриване на данни?)