Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / SQLite [игнор отключен] [закрыт для гостей] / SELECT с возможностью редактирования данных / 15 сообщений из 15, страница 1 из 1
16.07.2011, 18:45
    #37354723
redsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT с возможностью редактирования данных
Доброго Всем дня!
Почему результат View в SQLITE редактировать нельзя, а такой же запрос сделанный в ACCESS к той же базе SQLITE - позволяет редактировать данные ?
Код: plaintext
1.
SELECT a.descr, b.name
FROM a LEFT JOIN b ON a.id_place = b.id_place
...
Рейтинг: 0 / 0
16.07.2011, 19:52
    #37354754
MaxSem
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT с возможностью редактирования данных
...
Рейтинг: 0 / 0
16.07.2011, 20:12
    #37354759
redsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT с возможностью редактирования данных
MaxSem http://sqlite.org/omitted.html Читал эту страничку. У меня LEFT JOIN, он "is implemented", но почему результат нельзя редактировать?
...
Рейтинг: 0 / 0
16.07.2011, 21:06
    #37354773
redsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT с возможностью редактирования данных
redskyMaxSem http://sqlite.org/omitted.html Читал эту страничку. У меня LEFT JOIN, он "is implemented", но почему результат нельзя редактировать? ... и как сделать так, чтобы можно было?
...
Рейтинг: 0 / 0
16.07.2011, 23:33
    #37354837
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT с возможностью редактирования данных
redsky,

Если ты из Акцесса сумел обновить VIEW то значит ты на самом деле работал не с VIEW а с локальной копией данных внутри Акцесса.
VIEW в SQLite не обновляемые. Совсем. Читай последний абзац:
http://sqlite.org/lang_createview.html
...
Рейтинг: 0 / 0
16.07.2011, 23:46
    #37354842
redsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT с возможностью редактирования данных
White Owlredsky,
Если ты из Акцесса сумел обновить VIEW то значит ты на самом деле работал не с VIEW а с локальной копией данных внутри Акцесса.
VIEW в SQLite не обновляемые. Совсем. Читай последний абзац:
http://sqlite.org/lang_createview.html В Access я не "обновлял VIEW". Я же писал "такой же запрос сделанный в ACCESS к той же базе SQLITE" . База подключена через ODBC.
VIEW я делал через в той же базе через SQLite Mestro.
Вопрос открыт. Как сделать View в SQLite, из двух таблиц, чтобы данные при этом можно было редактировать полученной View?
...
Рейтинг: 0 / 0
16.07.2011, 23:50
    #37354845
VSVLAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT с возможностью редактирования данных
redsky, сказали же. НИКАК
...
Рейтинг: 0 / 0
16.07.2011, 23:55
    #37354848
redsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT с возможностью редактирования данных
VSVLADredsky, сказали же. НИКАК Увидел )) Жаль. Спасибо !!! :(
...
Рейтинг: 0 / 0
17.07.2011, 23:17
    #37355237
MBG
MBG
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT с возможностью редактирования данных
White OwlVIEW в SQLite не обновляемые. Совсем. Читай последний абзац:
http://sqlite.org/lang_createview.html

Там сказано, что можно. И даже сказано, как - для модификации данных во вью следует использовать INSTEAD OF триггер на view.
...
Рейтинг: 0 / 0
18.07.2011, 01:08
    #37355284
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT с возможностью редактирования данных
MBGWhite OwlVIEW в SQLite не обновляемые. Совсем. Читай последний абзац:
http://sqlite.org/lang_createview.html

Там сказано, что можно. И даже сказано, как - для модификации данных во вью следует использовать INSTEAD OF триггер на view.ээээ... ты разницу между триггером и командой update видишь?
...
Рейтинг: 0 / 0
18.07.2011, 12:05
    #37355693
redsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT с возможностью редактирования данных
White OwlMBGпропущено...


Там сказано, что можно. И даже сказано, как - для модификации данных во вью следует использовать INSTEAD OF триггер на view.ээээ... ты разницу между триггером и командой update видишь? Будем юзать триггер ))
...
Рейтинг: 0 / 0
18.07.2011, 13:32
    #37355856
MBG
MBG
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT с возможностью редактирования данных
White Owlээээ... ты разницу между триггером и командой update видишь?

Если на вью создать триггер, можно делать апдейт на триггер. RTFM.
...
Рейтинг: 0 / 0
20.07.2011, 13:36
    #37359290
SELECT с возможностью редактирования данных
Я сейчас решаю похожую задачу, и столкнулся вот с какой проблемой: триггер instead of update of somecolumn не срабатывает, если происходит обновление сразу нескольких полей (хотя и включая somecolumn). Триггер instead of update без указания столбца срабатывает всегда, однако в этом случае нельзя понять, какие поля обновляются.

Не подскажите, это особенность SQLite, или в "энтерпрайзных" базах ситуация такая же?
...
Рейтинг: 0 / 0
20.07.2011, 14:36
    #37359388
MBG
MBG
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT с возможностью редактирования данных
Андрей ПарамоновЯ сейчас решаю похожую задачу, и столкнулся вот с какой проблемой: триггер instead of update of somecolumn не срабатывает, если происходит обновление сразу нескольких полей (хотя и включая somecolumn). Триггер instead of update без указания столбца срабатывает всегда, однако в этом случае нельзя понять, какие поля обновляются.

Не подскажите, это особенность SQLite, или в "энтерпрайзных" базах ситуация такая же?

Триггер на столбец должен срабатывать, если этот столбец обновляется. У вас где-то ошибка.

Вот простой тест, при модификации поля "а" выдается сообщение об ошибке:

$ echo ".read trigger.sql"|sqlite3
Error: near line 10: Op!

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
create table test(a,b);
insert into test values ( 1 , 2 );
create view vtest as select * from test;

create trigger trigger_test_instead instead of update of a on vtest
begin
    select RAISE(ABORT,'Op!');
end;

update vtest set a= 0 ,b= 0 ;
...
Рейтинг: 0 / 0
20.07.2011, 16:11
    #37359578
SELECT с возможностью редактирования данных
Да, всё работает. Надо было самому вначале проверить на простых примерах -_-;
...
Рейтинг: 0 / 0
Форумы / SQLite [игнор отключен] [закрыт для гостей] / SELECT с возможностью редактирования данных / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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