|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.10.2014, 23:21 | #1 |
Пользователь
Регистрация: 19.03.2013
Сообщений: 23
|
Условие в SQL
Возможно как-то сделать так, чтобы при вбивании записи добавлялась новая строка, если такого значения поля ещё не встречалось (запустить SELECT); а если уже встречалось, то поменять у товара количество, например, заменить 1 на 2 (UPDATE)?
|
23.10.2014, 07:48 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Да. можно. Решение зависит от СУБД.
Пример для MS SQL: Код:
I'm learning to live...
|
23.10.2014, 08:38 | #3 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
23.10.2014, 09:06 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Э-э-э дарагой, слющьй, у мэня савсэм другой задача бил, да
Короче говоря это просто обрезки остались. Там по курсору еще несколько разных проходов по технологии были, а просто в окончательной версии их реализовывал, а в своих архивах не стал сохранять, ибо надобности нет.
I'm learning to live...
|
23.10.2014, 09:56 | #5 |
Ваш К. О.
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,774
|
MS SQL 2008 или старше не поддерживает merge? Будет одним оператором.
|
23.10.2014, 10:44 | #6 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,158
|
не знаю как там у мелкомягких, а в MySQL - http://dev.mysql.com/doc/refman/5.6/...duplicate.html делается такая вещь на ура одним запросом
|
23.10.2014, 10:50 | #7 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
В FireBird тоже INSERT OR UPDATE есть, да и MERGE не только в последних версиях MS SQL
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 23.10.2014 в 10:54. |
24.10.2014, 14:31 | #8 |
Пользователь
Регистрация: 19.03.2013
Сообщений: 23
|
У меня Interbase. Как этот самый INSERT OR UPDATE реализовать? Или, может, проще использовать if... then...else? Но тоже синтаксис не знаю.
|
24.10.2014, 14:43 | #9 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Есть такой пример: http://www.firebirdsql.su/doku.php?id=update_or_insert
Правда для огнептицы, но под интербейс должен подойти.
I'm learning to live...
|
24.10.2014, 14:44 | #10 |
Пользователь
Регистрация: 19.03.2013
Сообщений: 23
|
Если подробнее, мне бы нужен триггер, который удаляет запись из одной таблицы при добавлении в другую записи с таким же id. Пока наработки такие:
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Условие выбора в sql-запросе на vba | ilnarinho | Microsoft Office Excel | 2 | 11.09.2012 23:52 |
Удаление строки с помощью SQL запроса (Query1.SQL.ADD('Delete....')) | Schutze | Помощь студентам | 6 | 29.11.2009 22:15 |
Создание новых таблиц в MS SQL SERVERE через SQL запрос в Delphi | S_Yevgeniy | Помощь студентам | 1 | 27.10.2009 06:26 |