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

Каква е употребата на курсор в SQL Server?

Курсорите са механизъм за изрично изброяване на редовете на набор от резултати, вместо да го извличат като такъв.

Въпреки това, въпреки че може да са по-удобни за използване от програмисти, свикнали да пишат While Not RS.EOF Do ... , те обикновено са нещо, което трябва да се избягва в рамките на съхранените процедури на SQL Server, ако изобщо е възможно - ако можете да напишете заявка без използването на курсори, вие давате на оптимизатора много по-добър шанс да намери бърз начин да я приложи.

Честно казано, никога не съм намирал реалистичен случай на използване на курсор, който не може да бъде избегнат, с изключение на няколко административни задачи, като преминаване през всички индекси в каталога и повторното им изграждане. Предполагам, че те могат да имат някои приложения при генериране на отчети или циркулярни съобщения, но вероятно е по-ефективно да се извърши работата, подобна на курсора, в приложение, което общува с базата данни, оставяйки машината на базата данни да прави това, което прави най-добре - манипулиране на набори.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SSRS:Как да създадете отчет като обобщена таблица в ssrs 2008 r2

  2. Как да промените цвета и шрифтовете в SQL Server Management Studio (SSMS) - SQL Server / TSQL урок, част 12

  3. Тактика за нормализиране на SQL Server:varchar срещу int идентичност

  4. Как да изберете дата без час в SQL

  5. Свързване на таблици с редове