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

Максималната рекурсия 100 е била изчерпана преди грешката при завършване на оператора да се покаже в SQL заявката

Можете да ограничите броя на нивата на рекурсия с помощта на MAXRECURSION намек за опция като този:OPTION (MAXRECURSION 0); където стойността (между 0 и 32767) указва броя на нивата на рекурсия, като 0 означава безкрайност.

От документацията за CTE:

И документацията за подсказките за заявката заявява:

За да използвате оператора, добавяте клаузата OPTION след клаузата FROM в заявката, като използвате рекурсивния CTE.

Посочването на 0 обаче може да доведе до лоши неща, ако заявката влезе в безкраен цикъл.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използване на клауза OUTPUT за вмъкване на стойност извън INSERTED

  2. Скрити подобрения в производителността и управляемостта в SQL Server 2012 / 2014

  3. Разрешението EXECUTE беше отказано на обекта 'xxxxxxx', база данни 'zzzzzzz', схема 'dbo'

  4. трябва дата във формат yyyy-mm в mssql

  5. Какво представлява схемата в SQL Server и как да създадете/препуснете схема в базата данни на SQL Server - SQL Server / TSQL урок, част 27