Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вставка значений из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Задача создать запрос в триггере, который добавил бы запись в таблицу goods_stocks(остатки товаров) при добавлении записи в таблицу purch_goods(закупка товаров). Таблицы связаны один к одному, поля в них естественно отличаются. Перед вставкой строки нужно проверить не существует ли запись с таким же good_id (purch_goods.good_id = goods_stocks.good_id). Если да, то изменить количество товара. Если нет - вставить строку с товаром good_id,qty,qty (нужно одно и то же количество вставить в два поля: остаток , доступный остаток) Пока я смог написать только так, но код ошибочный . Дальше не могу сообразить. Помогите, пожалуйста. CREATE TRIGGER trMatcingStocksOnInsertPG ON purch_goods FOR INSERT AS IF @@ROWCOUNT = 0 RETURN SET NOCOUNT ON INSERT INTO goods_stocks (good_id, stock,available) SELECT good_id,qty,qty FROM purch_goods WHERE purch_goods.good_id = goods_stocks.good_id ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2019, 09:49 |
|
||
|
Вставка значений из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
А сразу перед вставкой проверить и вставить нужное - нельзя? И триггер не понадобится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2019, 10:33 |
|
||
|
Вставка значений из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
uaggster, такие задачи обычно дают в качестве тестов. Тема была актуальна эдак в 80-х годах, когда данные вносили из консоли и не было ХП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2019, 12:11 |
|
||
|
Вставка значений из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
jeanssp, переписать на merge и хоть в триггере, хоть без ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2019, 12:13 |
|
||
|
Вставка значений из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
jeansspкод ошибочный . Дальше не могу сообразить.1) Для вставки с условием, когда записи нет, добавьте not exists в условие where 2) Для обновления поставьте перед insert команду update Владислав Колосовтакие задачи обычно дают в качестве тестов.Ну как, у человенка 11 лет опыта в SQL Server :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2019, 12:31 |
|
||
|
Вставка значений из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
alexeyvgjeansspкод ошибочный . Дальше не могу сообразить.1) Для вставки с условием, когда записи нет, добавьте not exists в условие where 2) Для обновления поставьте перед insert команду update Владислав Колосовтакие задачи обычно дают в качестве тестов.Ну как, у человенка 11 лет опыта в SQL Server :-) Да я все эти 11 лет в аксессе мышкой запросы делал. А теперь вот хочу перейти с аксесса на sql server . Какой нибудь примерчик дайте пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2019, 13:38 |
|
||
|
Вставка значений из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2019, 15:52 |
|
||
|
Вставка значений из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
jeansspКакой нибудь примерчик дайте пожалуйста.Пример чего нужен? Примеры триггеров можно посмотреть в хелпе https://docs.microsoft.com/ru-ru/sql/t-sql/statements/create-trigger-transact-sql Обратите внимание на псевдо-таблицы inserted, deleted. А то получается, что вы в своём триггере вставляете данные из всей таблицы. По логике, как я уже сказал, в SQL проверку при вставке можно сделать с помощью NOT EXISTS Пример NOT EXISTS можно посмотреть в примерах EXISTS: https://docs.microsoft.com/ru-ru/sql/t-sql/language-elements/exists-transact-sql ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2019, 18:19 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39844192&tid=1687466]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 314ms |

| 0 / 0 |
