Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.
Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.
Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.
Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.
Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.
Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.
Кафедра «Информационные технологии»
Базы данных
Курс лекций по дисциплине «Базы данных» для специальности направления 1-40 01 02‑01 «Информационные системы и технологии (в проектировании и производстве)»
автор-составитель , доцент, канд. физ.-мат. наук
Основы языка Transact-SQL Лекция 4
11. Курсоры
12. Управляющие конструкции Transact-SQL
2
11. Курсоры
SQL Server способен возвращать после выполнения запросов результаты, содержащие сотни тысяч строк. Клиентские приложения не всегда «справляются» с таким объемом данных (для их хранения нужно много памяти). Решением этой проблемы является использование курсоров. Курсоры представляют собой механизм обмена данными между сервером и клиентом.
3
Курсор позволяет клиентским приложениям работать не с полным набором данных (всеми строками и столбцами источника данных), а лишь с одной или несколькими строками (и/или столбцами). Курсор можно рассматривать как «окно», накладываемое на весь набор данных. Пользователь одновременно видит только часть данных, но, перемещая «окно», может получить доступ ко всем данным источника.
4
Набор всех данных, имеющихся в таблице, называется полным набором строк. Набор строк, возвращаемый командой SELECT, называется результирующим набором и является частью полного набора, отфильтрованного горизонтально (с помощью инструкции WHERE) или вертикально (не включая в запрос некоторые столбцы таблицы).
5
Курсоры работают с результирующим набором данных, расширяя возможности пользователей по их обработке. (!) По возможности, рекомендуется избегать использования курсоров и работать со стандартными командами обработки данных: SELECT, UPDATE, DELETE, INSERT.
6
7
В SQL Server поддерживается несколько видов курсоров. • Курсоры Transact-SQL – применяются в основном внутри триггеров, хранимых процедур и сценариев Transact-SQL. Для создания таких курсоров используется команда DECLARE CURSOR. Управление такими курсорами осуществляется средствами Transact-SQL.
8
• Курсоры сервера (API Server Cursors) – действуют на сервере и реализуют программный интерфейс приложений для ODBC, OLE DB, DB-Library. Клиент посылает с помощью API запрос на выполнение одной из доступных операций курсора. Запрос обрабатывается соответствующим интерфейсом API сервера и затем выполняется.
9
• Курсоры клиента (Client cursors) – реализуются на клиентском приложении; выбирают весь результирующий набор строк и сохраняют его локально. Это позволяет ускорить операции обработки данных, так как снижаются потери времени на выполнение сетевых операций.
10
Один курсор может основываться на нескольких таблицах, расположенных как в одной, так и в разных БД. Операция считывания данных, определенных в курсоре, называется выборкой (fetch).
11
Если за одну операцию курсор позволяет выбрать несколько строк данных, то такой курсор называется блочным. Курсоры могут быть разделены на две категории: последовательные (forward-only) и прокручиваемые (scrollable).
12
Последовательные курсоры - позволяют последовательно выбирать данные только в одном направлении – от начала к концу набора строк. Прокручиваемые курсоры - допускают перемещение по строкам в обоих направлениях и переход к произвольной строке результирующего набора курсора.
13
Серия последовательных выборок из курсора называется прокруткой курсора (или скроллингом курсора).
14
Типы и поведение курсоров Существует несколько типов курсоров, разных по возможностям обработки
Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.
Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.
Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.
Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.
Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.
Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.