Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Если другие пользователи изменят в исходной таблице включенные в курсор данные, это никак не повлияет на статический курсор.




Динамический курсор поддерживает данные в "живом" состоянии, но это требует затрат сетевых и программных ресурсов. При использовании динамических курсоров не создается полная копия исходных данных, а выполняется динамическая выборка из исходных таблиц только при обращении пользователя к тем или иным данным.

На время выборки сервер блокирует строки, а все изменения, вносимые пользователем в полный результирующий набор курсора, будут видны в курсоре. Однако если другой пользователь внес изменения уже после выборки данных курсором, то они не отразятся в курсоре.

 

Статические курсоры обеспечивают стабильный взгляд на данные. Они хороши для систем отчетности или для статистических и аналитических целей. Кроме того, статический курсор лучше других справляется с выборкой большого количества данных.

В системах реального времени (электронные покупки или резервирования билетов) необходимо динамическое восприятие обновляемой информации по мере внесения изменений. В таких случаях используется динамический курсор. В этих приложениях объем передаваемых данных, как правило, невелик, а доступ к ним осуществляется на уровне рядов (отдельных записей). Групповой доступ встречается очень редко.

 

Курсор, управляемый набором ключей, находится посередине между этими крайностями. Записи идентифицируются на момент выборки, и тем самым отслеживаются изменения. Такой тип курсора полезен при реализации прокрутки назад – тогда добавления и удаления строк не видны, пока информация не обновится, а драйвер выбирает новую версию записи, если в нее были внесены изменения.

 

Курсоры делятся на две категории: последовательные и прокручиваемые.

Последовательные позволяют выбирать данные только в одном направлении – от начала к концу.

Прокручиваемые же курсоры предоставляют большую свободу действий – допускается перемещение в обоих направлениях и переход к произвольной строке результирующего набора курсора.

 

Если программа способна модифицировать данные, на которые указывает курсор, он называется модифицируемым.

Курсор может обнаружить изменения в строках, только предпринимая вторую попытку извлечь эти строки. Для источника данных не существует способа уведомить курсор об изменениях в извлекаемых в настоящий момент строках. На способность курсора обнаруживать изменения также влияет уровень изоляции транзакций.

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:

· статические курсоры;

· динамические курсоры;

· однонаправленные курсоры;

· курсоры, управляемые набором ключей.

 

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...