Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2009, 14:11   #1
zajigateli
 
Регистрация: 25.03.2009
Сообщений: 8
По умолчанию Хранимая процедура на изменение.

Здравствуйте! Пмогите пожалуйста написать запрос, а точнее хранимую процедуру. Есть форма http://radikal.ru/F/s16.radikal.ru/i...a6fc6.jpg.html

На ней кнопка с кодом http://radikal.ru/F/s60.radikal.ru/i...05029.jpg.html, которая записывает вводимые пользователем данные через Edit в таблицу. Нужно написать запрос, который бы перезаписывал данные в другой таблице Sklad в столбце Rashod, но только в поле с указанным IDTovar, так как IDTovarу соответствует определенный товар. Например, вводим кол-во купленного товара 3 кг, IDTovar 4(Огурцы). Должно в таблице Sklad в столбце Rashod в поле с огурцами(ID4) прибавиться 3, если еще и минусует со столбца qty вообще будет супер =). Вот не работающий пример
Код SQL
UPDATE Sklad
@qty int, @IDTovar int SET Rashod =Rashod + @qty
WHERE IDTovar IN (SELECT IDTovar
FROM Tovar
WHERE Tovar =@IDTovar);

Спасибо
zajigateli вне форума Ответить с цитированием
Старый 08.11.2009, 16:27   #2
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

а зачем этот подселект?
Код:
(SELECT IDTovar
FROM Tovar
WHERE Tovar =@IDTovar)
если айди_товара и так известен

Цитата:
если еще и минусует со столбца qty вообще будет супер =)
из какого поля и какой таблицы минусовать?
soleil@mmc вне форума Ответить с цитированием
Старый 08.11.2009, 20:37   #3
zajigateli
 
Регистрация: 25.03.2009
Сообщений: 8
По умолчанию

Я в SQL запросах не очень разбираюсь, но я думаю этот "подзапрос" нужен для указания в каком именно поле с подходящим ID надо плюсовать к Rashod-у и минусовать в qty, таблица Sklad
"айди_товара и так известен"
Не известен мы его вводим через форму C-Buildere
zajigateli вне форума Ответить с цитированием
Старый 11.11.2009, 15:56   #4
zajigateli
 
Регистрация: 25.03.2009
Сообщений: 8
По умолчанию

Вот, что мне нужно! Спасибо!=(
CREATE PROC stock
@qty int, @IDTovar int
AS
UPDATE Sklad SET Rashod=Rashod+(@qty), qty=qty-(@qty)
WHERE IDTovar=@IDTovar

GO
zajigateli вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подправить код. Тема: База данных, хранимая в файле. На Паскале qwertytol Помощь студентам 0 02.06.2009 09:03
вычисляемые столбцы/хранимая процедура kate158 БД в Delphi 12 25.05.2009 14:31
Хранимая процедура не работает! Только_Учусь SQL, базы данных 6 08.09.2008 09:22
Хранимая процедура. nimf БД в Delphi 2 22.04.2008 13:16
не работает хранимая процедура yulia БД в Delphi 11 28.05.2007 19:00