powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вставка значений из одной таблицы в другую
8 сообщений из 8, страница 1 из 1
Вставка значений из одной таблицы в другую
    #39843865
jeanssp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте! Задача создать запрос в триггере, который добавил бы запись в таблицу 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
...
Рейтинг: 0 / 0
Вставка значений из одной таблицы в другую
    #39843895
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А сразу перед вставкой проверить и вставить нужное - нельзя?
И триггер не понадобится.
...
Рейтинг: 0 / 0
Вставка значений из одной таблицы в другую
    #39843993
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uaggster,

такие задачи обычно дают в качестве тестов. Тема была актуальна эдак в 80-х годах, когда данные вносили из консоли и не было ХП.
...
Рейтинг: 0 / 0
Вставка значений из одной таблицы в другую
    #39843994
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jeanssp,

переписать на merge и хоть в триггере, хоть без
...
Рейтинг: 0 / 0
Вставка значений из одной таблицы в другую
    #39844005
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jeansspкод ошибочный . Дальше не могу сообразить.1) Для вставки с условием, когда записи нет, добавьте not exists в условие where
2) Для обновления поставьте перед insert команду update
Владислав Колосовтакие задачи обычно дают в качестве тестов.Ну как, у человенка 11 лет опыта в SQL Server :-)
...
Рейтинг: 0 / 0
Вставка значений из одной таблицы в другую
    #39844067
jeanssp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgjeansspкод ошибочный . Дальше не могу сообразить.1) Для вставки с условием, когда записи нет, добавьте not exists в условие where
2) Для обновления поставьте перед insert команду update
Владислав Колосовтакие задачи обычно дают в качестве тестов.Ну как, у человенка 11 лет опыта в SQL Server :-)
Да я все эти 11 лет в аксессе мышкой запросы делал. А теперь вот хочу перейти с аксесса на sql server . Какой нибудь примерчик дайте пожалуйста.
...
Рейтинг: 0 / 0
Вставка значений из одной таблицы в другую
    #39844192
iiyama
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Вставка значений из одной таблицы в другую
    #39844271
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вставка значений из одной таблицы в другую
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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