|
|
|
|
|
для: ronin80
(05.05.2008 в 16:11)
| | наверно плохо объяснил...мне нужно через параметр RAZMER передать название столбца чтобы занести туда количество изделий KOL_VO, для определенного артикула artikyl, KOL_VO это место пересечения столбца RAZMER со строкой artikyl
т.е. вызывая процедуру указываем в какой столбец заносить данные и по какой строке, надеюсь что смог правильно сформулировать свои мысли ))) | |
|
|
|
|
|
|
|
для: Скиф
(05.05.2008 в 13:22)
| | судя по тому что "...надо по артикулу/размеру изменять количество изделий в этой и еще в нескольких таблицах..."
то процедура должна наверное выглядеть так
CREATE PROCEDURE POST_IZD (IN PARTICUL varchar(10), PRAZMER CHAR(5), IN PKOLVO INT(3))
BEGIN
UPDATE BD1 SET KOLVO=PKOLVO WHERE RAZMER=PRAZMER and ART=PARTICUL;
UPDATE BD2 SET KOLVO=PKOLVO WHERE RAZMER=PRAZMER and ART=PARTICUL;
UPDATE BD2K SET KOLVO=PKOLVO WHERE RAZMER=PRAZMER and ART=PARTICUL;
END; | |
|
|
|
|
|
|
| Вопрос вот в чем, есть складская таблица кол-во относительно артикула(строки)/размера(столбцы):
ART__|r42|r44|...
арт 34 | 5 | 4 |...
арт 45 |12 | 1 |...
...
размеров офигительно многа, а надо по артикулу/размеру изменять количество изделий в этой и еще в нескольких таблицах.
попытался сделать хп, передавая в неё артикул, размер, кол-во
CREATE PROCEDURE POST_IZD (IN artikyl varchar(10), RAZMER CHAR(5), IN kOL_VO INT(3))
BEGIN
UPDATE BD1 SET RAZMER=KOL_VO WHERE ART=artikyl;
UPDATE BD2 SET RAZMER=KOL_VO WHERE ART=artikyl;
UPDATE BD2K SET RAS=KOL_VO WHERE ART=artikyl;
END/
А он не работает, пытался передать через переменную-не хочет, переменную выводит. пока вижу выход только через /CASE...then апдейт...\, но это огроменно получится (счас размеров ~20, скока еще добавится со временем не известно).
Подскажите начинающему, как можно выкрутится?
может таблицу как преобразовать? | |
|
|
|
|