С Новым годом! Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 49

Триггер на обновление данных в двух таблицах

07.04.2013, 23:05. Показов 4092. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Тут вот такая проблема: есть выборка данных из двух таблиц из двух разных баз данных вот таким образом
SQL
1
SELECT a.nomer, a.FIO, b.adres FROM OKR.dbo.filial a LEFT JOIN BK.dbo.filial b ON a.nomer=b.nomer
В Delphi я создал оболочку для базы и там с помощью хранимой процедуры добавляю данные в обе таблицы в обе базы. Когда добаляешь новую запись, то значение поля nomer с помощью прописанной процедуры записывается в обе базы (поле nomer есть в обеих таблицах, по нему я делаю соединение, но вывожу его только из первой таблицы) и эту новую запись можно спокойно редактировать и изменять в DBGrid просто кликнув на запись, но это только новые записи. Изначально первая таблица имела записи в столбце nomer, а вторая была пуста в этом столбце, и старые записи редактируюся только в полях, выбранных из первой таблицы, т.е. в nomer и FIO, а когда пытаешся отредактировать поле adres, то выпадает ошибка "Недостаточно сведений о ключевом столбце". Это происходит я понимаю из-за того, что нету соответствия значений в полях nomer из обеих таблиц.
Здесь лучше всего было бы написать триггер, который бы значение поля nomer из первой таблицы добавлял бы в значение поля nomer из второй таблицы при редактирование (записи) в поле adres второй таблицы. Вот не выходит такой триггер написать, помогите кто знает!
Я программно пытался прописать так
SQL
1
UPDATE BK.dbo.filial SET BK.dbo.filial.nomer = OKR.dbo.filial.nomer WHERE OKR.dbo.filial.nomer IS NOT NULL
но не выходит!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.04.2013, 23:05
Ответы с готовыми решениями:

Обновление сразу в двух таблицах
Всем привет! Вот хочу сделать вот таку задачу table form_type id - int not null -> key number - int not...

Триггер на добавление/обновление данных
У меня есть три таблицы: Рационы, Продукты и Учет продуктов. Необходимо просчитать Стоимость рациона в день. Она высчитывается следующим...

Проверка соответствия данных в двух таблицах
Добрый всем день! У меня вопрос, на который не смог найти ответа в Грубере (хотя, вопрос мне видится довольно нужным) Есть две таблицы,...

5
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
08.04.2013, 07:13
дело не в триггере, он тут не нужен.
Задача заключается в том, как однозначно сопоставить каждой записи таблицы BK.dbo.filial одну и только одну запись в таблице OKR.dbo.filial. Если такое правило удастся найти - его нужно указать в условии для объединения таблиц в команде UPDATE - 1 раз.
0
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 49
08.04.2013, 18:51  [ТС]
Цитата Сообщение от cygapb-007 Посмотреть сообщение
дело не в триггере, он тут не нужен.
Задача заключается в том, как однозначно сопоставить каждой записи таблицы BK.dbo.filial одну и только одну запись в таблице OKR.dbo.filial. Если такое правило удастся найти - его нужно указать в условии для объединения таблиц в команде UPDATE - 1 раз.
и как это сделать, ведь таблицы в разных базах
0
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
08.04.2013, 20:05
Цитата Сообщение от roma1989 Посмотреть сообщение
и как это сделать, ведь таблицы в разных базах
Откуда я знаю, как увязана информация в этих таблицах и откуда она берется? Возможен даже первичный ручной ввод информации через "Редактировать первые N строк", если больше неоткуда данные взять...

А находятся таблицы в одной базе или в разных - не важно, могут даже на разных серверах быть.
0
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
08.04.2013, 20:18
пример редактирования с уточняющими параметрами:
0
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 49
08.04.2013, 23:51  [ТС]
Цитата Сообщение от cygapb-007 Посмотреть сообщение
пример редактирования с уточняющими параметрами:
Вложение 253779
а как правильно написать этот UPDATE не знаете? люди, реально не знаю что делать, хоть вешаться итти!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.04.2013, 23:51
Помогаю со студенческими работами здесь

Запрос на обновление записей в таблицах
Есть три таблицы. Comp,Cont и Tele.Необходимо составить запрос на обновление поля Temp в таблице Comp и обновление полей...

Триггер на обновление?
Здравствуйте!Я новичок.Задача следующая.Кто-то может в таблице со многими записями модифицировать поля(менять в них данные) во многих...

Триггер (каскадное удаление и обновление)
Здравствуйте, мне нужно создать один триггер, в котором будет каскадное обновление и удаление данных (для связанных таблиц) У меня...

Триггер PL-SQL: проверка совместимости данных в таблицах
СУТЬ ТРИГГЕРА таблица employee столбцы id_emp и id_position (должность) и тд таблица prop_view (осмотр недвижимости) столбцы id_emp...

Обновление Update в двух таблицах
добрый день! необходимо сделать update в двух таблицах. помогите построить правильно запрос (если это возможно): with MatForm.MatQuery do...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru