ilor
Зарегистрирован: 30.05.2010 Сообщения: 1
|
Добавлено: Вс Май 30 2010 19:04 Заголовок сообщения: SQL переменная в UPDATE |
|
|
всем привет возникла такая проблема что сервер неможет определить тип переменной
может ктонибуть помоч?
Код: | UPDATE sklad
SET kolvotov=(
SELECT s.kolvotov-(r.kolvotov * (cast((:kol) AS integer)))
FROM sklad s
JOIN recept r ON r.idtov=s.idtov
WHERE r.idblud = :INidblud) |
текст ошибки
Dynamic SQL Error.
SQL error code = -804.
Data type unknown.
задача UPDATE одной таблици информацией из другой решилась реализацией хранимой процедуры
Код: | SET TERM ^ ;
CREATE PROCEDURE NEW_PROCEDURE (
kol integer,
inidblud integer)
as
declare variable b float;
declare variable a float;
begin
for select s.kolvotov-(r.kolvotov*:kol) , s.idtov
FROM sklad s
join recept r on r.idtov=s.idtov
WHERE r.idblud = :INidblud
into :a, :b
do
begin
update sklad
set kolvotov = :a
where idtov = :b;
end
suspend;
end^
SET TERM ; ^
GRANT SELECT,UPDATE ON SKLAD TO PROCEDURE NEW_PROCEDURE;
GRANT SELECT ON RECEPT TO PROCEDURE NEW_PROCEDURE;
GRANT EXECUTE ON PROCEDURE NEW_PROCEDURE TO SYSDBA; |
|
|