Если другие пользователи изменят в исходной таблице включенные в курсор данные, это никак не повлияет на статический курсор.
Динамический курсор поддерживает данные в "живом" состоянии, но это требует затрат сетевых и программных ресурсов. При использовании динамических курсоров не создается полная копия исходных данных, а выполняется динамическая выборка из исходных таблиц только при обращении пользователя к тем или иным данным. На время выборки сервер блокирует строки, а все изменения, вносимые пользователем в полный результирующий набор курсора, будут видны в курсоре. Однако если другой пользователь внес изменения уже после выборки данных курсором, то они не отразятся в курсоре.
Статические курсоры обеспечивают стабильный взгляд на данные. Они хороши для систем отчетности или для статистических и аналитических целей. Кроме того, статический курсор лучше других справляется с выборкой большого количества данных. В системах реального времени (электронные покупки или резервирования билетов) необходимо динамическое восприятие обновляемой информации по мере внесения изменений. В таких случаях используется динамический курсор. В этих приложениях объем передаваемых данных, как правило, невелик, а доступ к ним осуществляется на уровне рядов (отдельных записей). Групповой доступ встречается очень редко.
Курсор, управляемый набором ключей, находится посередине между этими крайностями. Записи идентифицируются на момент выборки, и тем самым отслеживаются изменения. Такой тип курсора полезен при реализации прокрутки назад – тогда добавления и удаления строк не видны, пока информация не обновится, а драйвер выбирает новую версию записи, если в нее были внесены изменения.
Курсоры делятся на две категории: последовательные и прокручиваемые.
Последовательные позволяют выбирать данные только в одном направлении – от начала к концу. Прокручиваемые же курсоры предоставляют большую свободу действий – допускается перемещение в обоих направлениях и переход к произвольной строке результирующего набора курсора.
Если программа способна модифицировать данные, на которые указывает курсор, он называется модифицируемым. Курсор может обнаружить изменения в строках, только предпринимая вторую попытку извлечь эти строки. Для источника данных не существует способа уведомить курсор об изменениях в извлекаемых в настоящий момент строках. На способность курсора обнаруживать изменения также влияет уровень изоляции транзакций. Microsoft SQL Server 2005 поддерживает два метода запроса курсоров: · Transact-SQL. Язык Transact-SQL поддерживает синтаксис использования курсоров по стандарту SQL-92. · API-функции курсоров базы данных.
SQL Server поддерживает функциональность курсоров для следующих API-интерфейсов баз данных: · ADO (Microsoft ActiveX Data Object); · OLE DB; · открытый интерфейс доступа к базам данных (ODBC). В ODBC и ADO определены четыре типа курсора, поддерживаемые MicrosoftSQL Server 2005: · статические курсоры; · динамические курсоры; · однонаправленные курсоры; · курсоры, управляемые набором ключей.
Читайте также: III этап – выход на другие мировые рынки сбыта. Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|