Fórum Erro Procedure bando de dados #473686
22/03/2014
0
Olá Pessoal.
Eu tenho uma procedure, no qual a sua função é ver se foi uma ENTRADA ou uma SAIDA e atualiza o estoque somando ou diminuindo. Só que só funciona quando eu faço o primeiro registro, quando eu vou colocar um segundo ele da o seguinte erro:
O erro que está acontecendo é este:
Error Message:
----------------------------------------
multiple rows in singleton select.
multiple rows in singleton select.
At procedure 'ENTRADA' line: 9, col: 3
At trigger 'DETALLE_CONFERENCIA_ENTRADA' line: 5, col: 3.
Meu comando SQL:
Os campos da minha tabela DETALLE_CONFERENCIA, não tem chave primária:
ID_CONFERENCIA INTEGER (FK)
ID_PRODUCTO INTEGER (FK)
ID_MARCA INTEGER (FK)
CANTIDAD FLOAT
Os campos da minha tabela CONFERENCIA:
ID_CONFERENCIA INTEGER (PK)
FECHA DATE
MOVIMIENTO VARCHAR 15
Alguem poderia me ajudar?
Desde já agradecido!
Eu tenho uma procedure, no qual a sua função é ver se foi uma ENTRADA ou uma SAIDA e atualiza o estoque somando ou diminuindo. Só que só funciona quando eu faço o primeiro registro, quando eu vou colocar um segundo ele da o seguinte erro:
O erro que está acontecendo é este:
Error Message:
----------------------------------------
multiple rows in singleton select.
multiple rows in singleton select.
At procedure 'ENTRADA' line: 9, col: 3
At trigger 'DETALLE_CONFERENCIA_ENTRADA' line: 5, col: 3.
Meu comando SQL:
begin
select A.ESTOQUE_TEMPORARIO, A.ESTOQUE_REAL, B.MOVIMIENTO
from PRODUCTO A, CONFERENCIA B, DETALLE_CONFERENCIA C
where A.ID_PRODUCTO = :ID_PRODUCTO and
C.ID_CONFERENCIA = B.ID_CONFERENCIA
into :QTD_TEMPORARIO, :QTD_REAL, :MOVIMIENTO;
if (:MOVIMIENTO = 'ENTRADA') then
begin
update PRODUCTO
set ESTOQUE_TEMPORARIO = :QTD_TEMPORARIO + :CANTIDAD,
ESTOQUE_REAL = :QTD_REAL + :CANTIDAD
where ID_PRODUCTO = :ID_PRODUCTO;
end
else
if (:MOVIMIENTO = 'SAIDA') then
begin
update PRODUCTO
set ESTOQUE_TEMPORARIO = :QTD_TEMPORARIO - :CANTIDAD,
ESTOQUE_REAL = :QTD_REAL - :CANTIDAD
where ID_PRODUCTO = :ID_PRODUCTO;
end
end
Os campos da minha tabela DETALLE_CONFERENCIA, não tem chave primária:
ID_CONFERENCIA INTEGER (FK)
ID_PRODUCTO INTEGER (FK)
ID_MARCA INTEGER (FK)
CANTIDAD FLOAT
Os campos da minha tabela CONFERENCIA:
ID_CONFERENCIA INTEGER (PK)
FECHA DATE
MOVIMIENTO VARCHAR 15
Alguem poderia me ajudar?
Desde já agradecido!
Edson Vilhalba
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)