Курсоры для реентерабельных соединений
Курсоры для реентерабельных соединений
Для выполнения реентерабельного соединения сервер поддерживает один внутренний курсор для каждого потока в пределах образа одной таблицы. Концептуально он трактует контексты двух курсоров, как если бы они были отдельными таблицами. В этой ситуации синтаксис ссылок на таблицу обязательно использует алиасы для различения курсоров двух потоков.
В следующем примере каждое подразделение организации хранится с родительским идентификатором, который указывает на первичный ключ его руководящего подразделения. Приведенный далее запрос трактует подразделения и родительские подразделения, как если бы они были двумя таблицами:
SELECT
D1.XD,
D1.PARENTID,
D1.DESCRIPTION AS DEPARTMENT,
D2.DESCRIPTION AS PARENT_DEPT
FROM DEPARTMENT D1
LEFT JOIN DEPARTMENT D2
/* левое соединение обращается к корню дерева, ID 100 */
ON Dl.PARENTID = D2.ID;
На рис. 22.6 проиллюстрировано, как выбираются записи потомков в реентерабельном обращении к таблице DEPARTMENT.
Рис. 22.6. Внутренние курсоры для простого реентерабельного соединения Простой двухуровневый результат показан на рис. 22.7.
Результат этого запроса очень простой - одноуровневая денормализация. Операции получения древовидного результата для таблиц такого вида часто являются рекурсивными, они используют хранимые процедуры для реализации и управления рекурсией[79].
Рис. 22.7. Результат простого реентерабельного соединения
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
17.3.2. Установка соединений
17.3.2. Установка соединений После создания потокового сокета его необходимо присоединить к чему-то часто используемому. Установка соединений сокетов является в большой степени несимметричной задачей, поскольку каждая сторона проводит соединение по-разному. Одна сторона
17.3.4. Ожидание соединений
17.3.4. Ожидание соединений После создания сокета сервер привязывает к нему адрес с помощью функции bind(). Далее процесс сообщает системе путем вызова функции listen(), что он готов разрешить другим процессам соединение с данным сокетом (по указанному адресу). Если сокет привязан
17.5.7. Ожидание TCP-соединений
17.5.7. Ожидание TCP-соединений Ожидание соединений TCP происходит почти идентично ожиданию соединений домена Unix. Единственные различия заключаются в семействах протоколов и адресов. Ниже показан вариант примера сервера домена Unix, который работает через сокеты TCP. 1: /* tserver.с
Курсоры
Курсоры Курсоры — механизм просмотра данных в области данных; через них осуществляется весь доступ к данным. Курсор, о котором мы сейчас говорим, — системный объект MI. DB2/400 поддерживает позиционируемые (scrollable) и последовательные файловые курсоры в соответствии со
Использование PPP-соединений
Использование PPP-соединений При рассмотрении вопросов сетевого взаимодействия предполагается, что компьютер под управлением Linux подключен к обычной локальной сети, узлы которой соединены посредством сетевых кабелей (например, к сети Ethernet). В такой среде можно
2.2.2 Коммуникации без создания соединений (UDP)
2.2.2 Коммуникации без создания соединений (UDP) Некоторые операции обмена данными не требуют постоянного взаимодействия систем. Например, база данных на сетевом сервере может содержать таблицы имен сотрудников компании и их телефонные номера. Узнать номер телефона
5.2. Использование безопасных соединений
5.2. Использование безопасных соединений Выберите сервер, поддерживающий безопасные соединения. Помня о "плохом админе", не стоит выбирать локальный корпоративный сервер или почтовик провайдера. Лично я использую cервис Mail.ru, и мне его вполне достаточно (алгоритм
Прокручиваемые курсоры
Прокручиваемые курсоры Gemini ODBC-драйвер поддерживает наравне с однонаправленными (FORWARD-ONLY) курсорами также статические (STATIC) необновляемые
Отображение и курсоры
Отображение и курсоры В данной категории настраивают внешний вид указателей мыши при выполнении различных операций (рис. 14.10). Рис. 14.10. Настройка указателей мышиПо умолчанию указатели при работе с инструментами, использующими кисть, отображаются в виде окружностей,
11.2. Ограничения на курсоры сервера
11.2. Ограничения на курсоры сервера Курсоры стороны сервера выполнены в C API через функцию mysql_stmt_attr_set(). Та же самая реализация используется для курсоров в сохраненных подпрограммах. Курсор стороны сервера позволяет набору результатов быть сгенерированным на стороне
Курсоры в PSQL
Курсоры в PSQL Курсоры состоят из трех основных элементов:* набора строк, определенных выражением SELECT;* указателя, который перемещается через набор от первой строки к последней, изолируя строку для некоторого вида деятельности;* набора переменных- определенных как
Курсоры
Курсоры Так как пользователь при работе использует стилус, то Windows Mobile не отображает на экране устройства стандартную стрелку курсора. Предполагается, что пользователь может самостоятельно попасть острым концом стилуса в маленькую кнопку или другой элемент. Но у
8.1. Причина популярности DSL-соединений
8.1. Причина популярности DSL-соединений DSL (Digital Subscriber Line) — цифровая абонентская линия, позволяющая производить двунаправленный обмен данными по телефонной линии. Существуют несколько вариантов DSL-линий: ADSL, VDSL, SDSL, RADSL. Наиболее распространены ADSL-линии (Asymmetric DSL) —
6.2. Изображение резьбовых соединений
6.2. Изображение резьбовых соединений Резьбовые соединения можно разделить на две группы:? соединения, осуществляемые непосредственным свинчиванием соединяемых деталей, без применения специальных соединительных частей;? соединения, осуществляемые с помощью
Протокол установления соединений
Протокол установления соединений Протокол установления соединений Handshake Protocol состоит как бы из трех подпротоколов, которые позволяют выполнить аутентификацию сторон, согласовать алгоритмы и параметры безопасности для протокола передачи записей [19].Handshake Protocol