powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / SELECT ... FOR UPDATE WITH LOCK на updatable view
18 сообщений из 18, страница 1 из 1
SELECT ... FOR UPDATE WITH LOCK на updatable view
    #39273058
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую, форумяне!

Подскажите, пожалуйста, как ведет себя сервер при subj (алгоритм действий)?
...
Рейтинг: 0 / 0
SELECT ... FOR UPDATE WITH LOCK на updatable view
    #39273068
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никак. WITH LOCK на VIEW, насколько я знаю, запрещён.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
SELECT ... FOR UPDATE WITH LOCK на updatable view
    #39273078
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

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

P.S. Не проверял. Проверь и расскажи нам.
...
Рейтинг: 0 / 0
SELECT ... FOR UPDATE WITH LOCK на updatable view
    #39273086
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис, иными словами, вызова триггера BEFORE UPDATE с переменными NEW == OLD не будет?
...
Рейтинг: 0 / 0
SELECT ... FOR UPDATE WITH LOCK на updatable view
    #39273088
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты доку читал? WITH LOCK делался специально чтобы не трогать триггера при работе. Потому
что иначе он ничем от простого UPDATE не отличается.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
SELECT ... FOR UPDATE WITH LOCK на updatable view
    #39273094
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

FOR UPDATE WITH LOCK не вызывает триггеры. Эта конструкция работает через создание версий записей попавших в выборку. Работать она может только с одной единственной таблицей. Попытка примастырить её на VIEW выглядит как минимум странной. Хочешь заблокировать записи в базовой таблице вызывай отдельный запрос с блокировкой базовой таблицы, ну или в ХП где будет написан этот запрос.
...
Рейтинг: 0 / 0
SELECT ... FOR UPDATE WITH LOCK на updatable view
    #39273133
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovТы доку читал? WITH LOCK делался специально чтобы не трогать триггера при работе. Потому
что иначе он ничем от простого UPDATE не отличается.Читать-то - читал, но ведь всего не упомнишь.
...
Рейтинг: 0 / 0
SELECT ... FOR UPDATE WITH LOCK на updatable view
    #39273210
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

объясняю проще - with lock работает только с физическими записями.
...
Рейтинг: 0 / 0
SELECT ... FOR UPDATE WITH LOCK на updatable view
    #39273472
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvобъясняю проще - with lock работает только с физическими записями.Это не только проще, но и аргументированней. Сразу понятно, почему никто из разработчиков не заморачивался созданием синтетической поддержки WITH LOCK через представления. Ну, и, наверное, "не по стандарту", как кто-то забыл отметить. :)

Всем спасибо! Тема закрыта.
...
Рейтинг: 0 / 0
SELECT ... FOR UPDATE WITH LOCK на updatable view
    #39273567
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

помимо стандарта есть ещё здравый смысл. То что ты хочешь не поддаётся здравому смыслу. А ведь представление оно вообще на основе ХП может быть, а в ХП какой-нибудь EXTERNAL DATA SORCE...
...
Рейтинг: 0 / 0
SELECT ... FOR UPDATE WITH LOCK на updatable view
    #39273577
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Дениспредставление оно вообще на основе ХП может быть, а в ХП какой-нибудь EXTERNAL DATA SORCE...
Щас ты его научишь плохому, ага... Хотя может второй Таблоид на выходе получится
...
Рейтинг: 0 / 0
SELECT ... FOR UPDATE WITH LOCK на updatable view
    #39274156
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster, плохому могу научить только я.
...
Рейтинг: 0 / 0
SELECT ... FOR UPDATE WITH LOCK на updatable view
    #39275003
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисА ведь представление оно вообще на основе ХП может быть, а в ХП какой-нибудь EXTERNAL DATA SORCE...Именно так! И в этом случае, представление должно знать, как "блокировать" такую запись, попадающую в выборку представления. К примеру:
Код: plsql
1.
2.
3.
4.
5.
6.
CREATE OR ALTER VIEW myView
AS
  SELECT ID, NAME
    FROM myProc4myView
ON LOCK DO
  EXECUTE PROCEDURE myProc(ID);

Конечно, подобное решение не лучшим образом скажется на производительности, но, ИМХО, обращение к представлению, как к таблице, более унифицированным.
...
Рейтинг: 0 / 0
SELECT ... FOR UPDATE WITH LOCK на updatable view
    #39275054
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я знал...
...
Рейтинг: 0 / 0
SELECT ... FOR UPDATE WITH LOCK на updatable view
    #39275097
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
о чем?
...
Рейтинг: 0 / 0
SELECT ... FOR UPDATE WITH LOCK на updatable view
    #39275384
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

О том, что желаешь странного.
...
Рейтинг: 0 / 0
SELECT ... FOR UPDATE WITH LOCK на updatable view
    #39275393
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSery, так ведь скучно желать нестранного. Не? ;)
...
Рейтинг: 0 / 0
SELECT ... FOR UPDATE WITH LOCK на updatable view
    #39275409
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devWildSery, так ведь скучно желать нестранного. Не? ;)

Конечно! Пляски с бубном и зажатыми зубами фаберже выглядят куда как веселее. Со стороны
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / SELECT ... FOR UPDATE WITH LOCK на updatable view
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]