Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Funkcja rekurencyjna w serwerze sql 2005?

Wyszukaj „typowe wyrażenia tabelowe”. Zobacz także ten link

Aktualizacja Dodanie przykładu z powyższego linku:

;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. Transakcja musi zostać usunięta, zanim połączenie będzie mogło zostać użyte do wykonania instrukcji sql

  2. Jak utworzyć typ tabeli w SQL Server 2005?

  3. Proaktywne kontrole kondycji programu SQL Server, część 5:Statystyka oczekiwania

  4. SQL Server:Jak pobrać dane z dynamicznych wielu tabel?

  5. Zapytanie o wybór miesiąca i numeru weekendu i święta w tym miesiącu