Procedure - ERRO
08/04/2014
0
Estou tentando executar a seguinte proc.
CREATE PROCEDURE SP_AlteraStatusPedidoAtivo AS BEGIN DECLARE @cliche VARCHAR(10), @statuscliche CHAR(1), @statuspedido INT; DECLARE Cur_StatusCliche CURSOR FOR SELECT SOPASTA_StatusCliche.Cliche, SOPASTA_StatusCliche.Status, Pedidos.StatusPedido FROM SOPASTA_StatusCliche LEFT JOIN itens ON SOPASTA_StatusCliche.Cliche = itens.CodFI INNER JOIN Pedidos ON itens.CodFI = Pedidos.CodFI WHERE SOPASTA_StatusCliche.STATUS = 'I' AND Pedidos.StatusPedido <> 4 ORDER BY Pedidos.Pedido OPEN Cur_StatusCliche; FETCH NEXT FROM Cur_StatusCliche INTO @cliche, @statuscliche, @statuspedido WHILE @@FETCH_STATUS = 0 BEGIN SELECT SOPASTA_StatusCliche.Cliche, SOPASTA_StatusCliche.Status, Pedidos.StatusPedido FROM SOPASTA_StatusCliche LEFT JOIN itens ON SOPASTA_StatusCliche.Cliche = itens.CodFI INNER JOIN Pedidos ON itens.CodFI = Pedidos.CodFI WHERE @cliche = SOPASTA_StatusCliche.Cliche AND @statuscliche = SOPASTA_StatusCliche.Status AND @statuspedido = Pedidos.StatusPedido; IF ((@statuscliche = 'I') AND (@statuspedido <> 4)) BEGIN UPDATE Pedidos SET Pedidos.StatusPedido = 4 WHERE Pedidos.StatusPedido = @statuspedido AND SOPASTA_StatusCliche.Status = @statuscliche; END; --UPDATE OFS SET RazaoSuspOF = 'Bloqueio: CQ' WHERE Pedido = @pedido AND Item = @item; FETCH NEXT FROM Cur_StatusCliche INTO @cliche, @statuscliche, @statuspedido; END; CLOSE Cur_StatusCliche; END
e está me gerando o seguinte erro:
Msg 4104, Level 16, State 1, Procedure SP_AlteraStatusPedidoAtivo, Line 30
O identificador de várias partes "SOPASTA_StatusCliche.Status" não pôde ser associado.
Não consegui entender o motivo de estar dando erro de identificador. O que pode estar errado?
Muito Obrigado.
Marcio Morando
Posts
08/04/2014
Fabiano Carvalho
O erro que encontrei está nessa linha
UPDATE Pedidos SET Pedidos.StatusPedido = 4 WHERE Pedidos.StatusPedido = @statuspedido AND SOPASTA_StatusCliche.Status = @statuscliche;
Não existe o alias SOPASTA_StatusCliche
08/04/2014
Fabiano Carvalho
08/04/2014
Fabiano Carvalho
08/04/2014
Marcio Morando
Teria que ser feito de outra forma?
SOPASTA_StatusCliche é uma tabela.
08/04/2014
Fabiano Carvalho
UPDATE A SET Pedidos.StatusPedido = 4 FROM Pedidos as a,SOPASTA_StatusCliche as b where a.StatusPedido = @statuspedido AND b.Status = @statuscliche;
08/04/2014
Marcio Morando
09/04/2014
Marcio Morando
Clique aqui para fazer login e interagir na Comunidade :)