Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.01.2011, 00:05   #1
Dayman
Форумчанин
 
Аватар для Dayman
 
Регистрация: 12.01.2011
Сообщений: 186
По умолчанию SQlite override значеий

Допустим есть такие таблицы, причем каждая в своей БД:
Таблица t1 в главной базе n1 (r/o)
Код:
id name
--
0 name1
1 name2
2 ABC
Таблица t1 в вспомогательной базе n2 (r/o)
Код:
id name
--
2 CBA
Таблица prices в базе цен (r/w)
Код:
id price
--
0 10
1 15
2 4
Пишу на Qt.
Нужно сделать следующее: override данных главной таблицы из вспомогательной. То есть любые данные из вспомогательной базы заменяют данные главной базы в select запросах, т.к. обе эти базы доступны только для чтения.
В примере, который я привел выборка с WHERE id=2 должна вывести "2 CBA", а полная выборка соответственно вернет первые две записи из таблицы n1 плюс первую запись из n2.
Однако пока удалось получить только значения, отличные от тех, что в главной базе вот таким запросом:
Код:
SELECT L.id,L.name,prices.price
FROM (SELECT * FROM n2.t1 EXCEPT SELECT * FROM t1) AS L,prices
WHERE L.id=prices.id
Кстати говоря, пока не забыл, вспомогательная база присоединяется с помощью ATTACH DATABASE, таблица цен для простоты пока находится в главной базе.

Не могу придумать как получить все уникальные значения обоих таблиц в одном запросе.
Дело усугубляется тем, что вспомогательная база может вообще не существовать или может существовать, но таблица в ней отсутствует; если же существует, то структура и имя полностью повторяют структуру и имя таблиц из основной базы.
Про ATTACH базы цен вообще не говорю, connection только для чтения, так что приаттаченная база тоже будет только для чтения, чего быть не должно.
В общем, господа, есть ли какой хитрый запрос, чтобы организовать этот самый override? И стоит ли оно того вообще, Может было бы проще прочитать таблицы вспомогательный базы, составить список override'ов и плясать от этого, подменяя запросы в коде?
Lingua c++ non penis caninus est.
Dayman вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SQLite Dr.Badnezz БД в Delphi 2 24.03.2010 09:46
Что означает override, идущий после функции? TwiX Общие вопросы Delphi 22 09.08.2009 18:31
SQLite 3 XeN0N PHP 4 19.01.2009 19:06
SQLite 3 XeN0N PHP 1 18.01.2009 20:30
constructor, destructor override. Подправить код. Roof Общие вопросы Delphi 9 31.07.2008 13:41