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

Понятно, что "умным"... Вопрос, как?
...
Рейтинг: 0 / 0
23.05.2001, 15:59
    #32006092
Другие действия во время INSERT
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
23.05.2001, 16:09
    #32006093
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Другие действия во время INSERT
2 Alexandr
Ну дык каков вопрос - таков и ответ.
Вы вот свой вопрос внимательно прочитайте и сами подумайте - что из него поймет совершенно посторонний человек? Есть какой-то апдейт и нужно сделать какой-то инсерт. И зачем-то нужно перебирать записи. И, собственно, это вся информация. Это примерно как приходят юзеры и говорят: сделайте что бы нам было хорошо! И уходят. Понимай как хочешь.
...
Рейтинг: 0 / 0
23.05.2001, 16:25
    #32006096
AlexUnik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Другие действия во время INSERT
2 Serg Super.
Насчет юзеров, которые хотят, чтобы им было хорошо, - сильно сказано и очень актуально. Главное, что начальство фирмы может этих юзеров активно поддерживать, что не способствует усилению позиции программиста Пожалуй эту проблему следует когда-нибудь вынести на отдельное обсуждение
...
Рейтинг: 0 / 0
23.05.2001, 16:46
    #32006098
Garya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Другие действия во время INSERT
На Update одной таблицы прицепи триггер, который будет делать Insert в другую таблицу. Вот и все!
...
Рейтинг: 0 / 0
23.05.2001, 16:50
    #32006099
Alexandr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Другие действия во время INSERT
2 SergSuper
Ну, люди меня правильно поняли...

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


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