powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Другие действия во время INSERT
10 сообщений из 10, страница 1 из 1
Другие действия во время INSERT
    #32006082
Alexandr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Суит прикола такова:
Происходит UPDATE Table1
SET X=NULL
WHERE Y=A...
И параллельно с этим в другую таблицу должна вставляться информация с использованием X, Y и ряда других данных. Триггером это сделать нельзя - некоторые значения передается извне.
Как можно объединить в одно UPDATE и INSERT? А то приходится тупым и длительным перебором
просматривать каждую запись, обновлять ее или нет, и в случае обновления записывать информацию в другую...
...
Рейтинг: 0 / 0
Другие действия во время INSERT
    #32006087
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверное заменить "тупой и длительный перебор" "умным селектом"
...
Рейтинг: 0 / 0
Другие действия во время INSERT
    #32006090
Alexandr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 SergSuper

Понятно, что "умным"... Вопрос, как?
...
Рейтинг: 0 / 0
Другие действия во время INSERT
    #32006092
tbTable1, tbTable2, tbTable3
tbTable1 проверяем по tbTable2
в tbTable3 вставляем, если надо

UPDATE
__tbTable1
SET
__Field1 = 'aaa'
FROM
__tbTable2 as TB2
__INNER JOIN tbTable1 as TB1 ON
____TB1.FieldX = TB2.FieldX
WHERE
__TB1.FieldX IS NULL


INSERT INTO tbTable3
__( Field1, Field2, Field3)
SELECT
__TB2.Field1, TB2.Field2, TB2.Field3
FROM
__tbTable2 as TB2
__INNER JOIN tbTable1 as TB1 ON
____TB1.FieldX = TB2.FieldX
WHERE
__TB1.FieldX IS NULL


Удачи
...
Рейтинг: 0 / 0
Другие действия во время INSERT
    #32006093
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Alexandr
Ну дык каков вопрос - таков и ответ.
Вы вот свой вопрос внимательно прочитайте и сами подумайте - что из него поймет совершенно посторонний человек? Есть какой-то апдейт и нужно сделать какой-то инсерт. И зачем-то нужно перебирать записи. И, собственно, это вся информация. Это примерно как приходят юзеры и говорят: сделайте что бы нам было хорошо! И уходят. Понимай как хочешь.
...
Рейтинг: 0 / 0
Другие действия во время INSERT
    #32006096
AlexUnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Serg Super.
Насчет юзеров, которые хотят, чтобы им было хорошо, - сильно сказано и очень актуально. Главное, что начальство фирмы может этих юзеров активно поддерживать, что не способствует усилению позиции программиста Пожалуй эту проблему следует когда-нибудь вынести на отдельное обсуждение
...
Рейтинг: 0 / 0
Другие действия во время INSERT
    #32006098
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На Update одной таблицы прицепи триггер, который будет делать Insert в другую таблицу. Вот и все!
...
Рейтинг: 0 / 0
Другие действия во время INSERT
    #32006099
Alexandr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 SergSuper
Ну, люди меня правильно поняли...

2 Дмитрий Голубев
Спасиб! То, что надо...
...
Рейтинг: 0 / 0
Другие действия во время INSERT
    #32006100
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, используя вспомогательные таблицы, и в триггер можно передавать информацию. Для устранения взаимных помех между ползователями в такие таблицы заносится SPID, по которому и отбираются записи для текущего процесса. Я так делал еще в 7.0 - превращал обычные триггеры в Instead-триггеры.
...
Рейтинг: 0 / 0
Другие действия во время INSERT
    #32006101
Alexandr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 AlexUnix
Вот я бы тут не согласился... Майкрософт потому и выпускает мастдаи вместо нормальных систем, что работает по принципу подстраивания пользователей под удобство программера...
На то мы и программисты, чтобы юзер вел себя как хотел, а у нас на этот случай было все предусмотрено...
Надо, чтобы программа под пользователя настраивалась, а не наоборот...
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Другие действия во время INSERT
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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