powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Запрос на обновление
2 сообщений из 2, страница 1 из 1
Запрос на обновление
    #38679421
TempGuest05
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день всем.

Есть три таблички, примерно такие. Есть ряды(dtSets), есть модели(dtModels), есть аргументы(dtArguments). Каждая модель ссылается на какой-то ряд и на список аргументов. Каждый аргумент, также ссылается на какой-то ряд.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
CREATE TABLE dtSets
(ID INTEGER NOT NULL PRIMARY KEY,
 NameSet CHAR(100)
 SelectedSet SMALLINT,
 CountLink SMALLINT);

CREATE TABLE dtModels
(ID INTEGER NOT NULL PRIMARY KEY,
 IDset INTEGER NOT NULL,
 SelectedMod SMALLINT,
 Name CHAR(70),
 FOREIGN KEY(IDset) REFERENCES dtSets(ID) ON DELETE CASCADE ON UPDATE CASCADE);

CREATE TABLE dtArguments
(ID INTEGER NOT NULL PRIMARY KEY,
 IDModel INTEGER NOT NULL,
 IDArgument INTEGER NOT NULL,
 Shift INTEGER NOT NULL,
 FOREIGN KEY(IDModel) REFERENCES dtModels(ID) ON DELETE CASCADE ON UPDATE CASCADE,
 FOREIGN KEY(IDArgument) REFERENCES dtSets(ID) ON DELETE CASCADE ON UPDATE CASCADE);



В один прекрасный момент, несколько записей одновременно dtModels.SelectedMod, меняется с 0 на 1. Вопрос: Как для таких моделей (с SelectedMod = 1) в dtSets.CountLink записать кол-во ссылок на этот dtSets.ID в dtArguments.IDArgument + прямые ссылки (т.е. dtModel.IDSet=dtSets.ID)?

Сам никак не соображу, скорее всего надо использовать (SELECT COUNT() FROM), но как потом связать не знаю.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
UPDATE dtSets
SET
 SelectedSet = 1,
 CountLink=1 //?
WHERE ID IN 
  (SELECT IDSet;
   FROM dtModels
   WHERE SelectedMod=1);
...
Рейтинг: 0 / 0
Запрос на обновление
    #38679715
pit_alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TempGuest05,

можно в триггере
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Запрос на обновление
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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