@Mr-Governor
Губернирую

Как в SQL проц. работать с двумерной таблицей?

Есть следующие таблицы:

  • Склад сырья: (ID, наименование, единица измерения, цена, количество)
  • Склад продукции: (ID, наименование, единица измерения, сумма, количество)
  • Ингредиенты: (ID, продукция, сырье, количество)


Ингредиенты - это рецепт, по которому можно из сырья, собрать продукцию.

Мне, известен ключ продукта, который необходимо произвести. Далее, мне нужно выбрать все ингредиенты , нужной продукции. Затем, сопоставить количество каждого необходимого сырья на складе, с требуемым. Если у меня хватает на каждую позицию требуемого сырья, отнять требуемое количество ингредиентов со склада сырья и произвести 1 единицу продукции.

По идее, все должна произвести 1 SQL процедура. После того как я получаю список ингредиентов (id_ингредиент, треб_количество), у меня есть двумерная таблица, а работать в SQL я с ней не могу.
Я немного слышал про курсоры, работать с ними не умею, а сдавать уже завтра.
Вообще, программу я уже сделал, но большая часть расчетов проходит в клиентской части, т.к. я несколько раз дергаю БД и получаю все в поля классов.

Мне такой подход не нравиться, и я хотел бы узнать как вы могли бы сделать это задание?
  • Вопрос задан
  • 45 просмотров
Пригласить эксперта
Ответы на вопрос 2
@d-stream
Готовые решения - не подаю, но...
скип до примеров M-to-N

для ускорения
M - сырье
N - продукция
ингредиенты - связка между ними (расширяет классику только количеством)
Ответ написан
tsklab
@tsklab Куратор тега SQL Server
Здесь отвечаю на вопросы.
как вы могли бы сделать это задание?
слышал про курсоры
Таки да, хранимую процедуру с циклом по курсору в транзакции.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы