Руководство разработчика

Обновляемые запросы

SQL Links предлагает расширенную поддержку для обновляемых запросов, так однотабличных, так и многотабличных.

Эти ограничения относятся к обновлениям:

Ограничения обновляемых запросов

Курсоры, возвращаемые обновляемыми запросами, функционально и семантически схожи с курсорами, возвращаемые функцией BDE DbiOpenTable.

Однотабличные запросы или представления являются обновляемыми, если выполнены следующие условия:

Для методов поля или курсора могут быть дополнительные ограничения. Если индекс используется для реализации ORDER BY, то функция BDE DbiSwitchToIndex возвратит ошибку.

Ограничения для обновляемых объединений

Обновляемые объединения зависят от составных курсоров. Обновляемые объединения могут быть использованы только если:

Ограничения

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

Вычисляемые поля

Для вычисляемых полей в обновляемых запросах задаются свойства "вычисляемое" и "только для чтения". Каждое обновление значение поля (конкретней, вызов DbiPutField) вызывает перерассчет всех зависимых полей.

Вызовы функций BDE для результатов запроса

Если запрос возвращает курсор, то этот курсор будет полностью поддерживать все низкоуровневые возможности курсора, возвращенного функцией BDE DbiOpenTable. Таким образом, к результату запроса могут быть применены фильтры и отображения полей. Некоторые операции, такие как DbiAddIndex или DbiSwitchToIndex, для курсоров обновляемых запросов не поддерживаются.


См. также: