А вид деактивировать как-то можно в FireBird 1.5?

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
Aleksandr.
Сообщения: 63
Зарегистрирован: 18 май 2005, 19:13

А вид деактивировать как-то можно в FireBird 1.5?

Сообщение Aleksandr. » 27 окт 2005, 17:47

Есть таблицы Table1 (ID_X, Name_X) и Table2 (ID_Y, ID_X, Name_Y)
Вид создается как

Код: Выделить всё

CREATE VIEW View (ID, Name, rCount)
AS SELECT ID_X, Name_X, (SELECT COUNT(ID_Y) FROM Table2 T2 WHERE ID_X=T1.ID_X) FROM Table1 T1
В итоге происходят странные вещи: при удалении записи из Table2 я получаю ошибку, что удалить нельзя, потому как поле имеет dependencы. Дропнуть вид перед удалением записей и воссоздать выглядит криво, тем более что сам вид может быть открыт в другой транзакции. Я порылся в LangRef, но ничего похожего на ALTER VIEW INACTIVE не нашел. Есть вообще в FB 1.5 возможности для временного отключения вида или его связей?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 28 окт 2005, 11:03

что-то ты чудеса рассказываешь. каким образом таблицу и ее записи интересует, что где то там существует какое то view???
при удалении записи из Table2 я получаю ошибку, что удалить нельзя, потому как поле имеет dependencы
что за операция, что за ошибка? полный текст приведи.

Ответить