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

Pętla bez kursora w SQL Server 2005

Możesz użyć SQL 2005 CTE, aby silnik SQL robił to rekurencyjnie.

Wyliczenie podstawowych podejść znajduje się pod adresem http://blogs.msdn.com/anthybloesch/archive/2006/02/15/Hierarchies-in-SQL-Server-2005.aspx

Celko ma również drzewo w księdze SQL, która obejmuje to wszystko do n-tego stopnia.

Lub możesz brutalnie wymusić, wybierając każdy poziom do lokalnej zmiennej tabeli, a następnie wykonując pętlę, wstawiając elementy podrzędne z zaznaczeniem, aż @@ROWCOUNT wynosi zero (tzn. nie znajdziesz więcej elementów podrzędnych). Jeśli nie masz dużo danych, jest to łatwe do zakodowania, ale sugerowałeś, że szukasz wydajności, mówiąc, że nie chcesz kursora.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak przyznać właścicielowi bazy danych (DBO) uprawnienie ZESPÓŁ DOSTĘPU ZEWNĘTRZNEGO?

  2. Przechowywać pliki w programie SQL Server czy przechowywać je na serwerze plików?

  3. Czy istnieje program SQL Server Profiler dla programu SQL Server Express?

  4. Zapytanie SQL ze znakami specjalnymi - jak obsłużyć?

  5. Korzystanie z PIVOT w SQL Server 2008