Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ilano

O que tem de errado nesse insert?

Recommended Posts

Olá pessoal,

 

Preciso fazer o insert abaixo (MySQL), só q está retornando um erro:

You can't specify target table 'tb_estoque' for update in FROM clause

 

INSERT INTO tb_estoque

(Ped_Codigo, Pro_Codigo, Est_Data, Est_SaldoAnterior,

Est_DataSaida, Est_NFSaida, Est_QuantSaida,

Est_ValorSaida, Est_SaldoAtual, Est_ValorSaldo)

VALUES (

1,

1,

(SELECT DATE_FORMAT(NOW(), "%Y/%m/%d")),

 

(SELECT A.Est_SaldoAtual FROM tb_estoque A

WHERE A.Est_Codigo = (SELECT MAX(B.Est_Codigo) FROM tb_estoque B WHERE B.Pro_Codigo = 1)),

 

"2009/06/10",

 

NULL,

 

10.000,

 

12.26,

 

((SELECT C.Est_SaldoAtual FROM tb_estoque C

WHERE C.Est_Codigo = (SELECT MAX(D.Est_Codigo) FROM tb_estoque D WHERE D.Pro_Codigo = 1)) - 10.000),

 

(((SELECT E.Est_SaldoAtual FROM tb_estoque E

WHERE E.Est_Codigo = (SELECT MAX(F.Est_Codigo) FROM tb_estoque F WHERE F.Pro_Codigo = 1)) - 10.000) * 12.26)

 

)

Como posso corrigir isso???

 

Grato,

 

Ilano.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, sua dúvida está na área imprópria, visto que é problema de SQL, não de código no Delphi.

 

Tópico movido.

 

De: Programação » Delphi

Para : Gerenciamento de Banco de Dados » MySQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

1. dentro dos "subselects", retire a atribuição de alias, pois nenhum deles tem necessidade.

Pode ser isso o motivo da mensagem de erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza pessoal.

 

Vou ter mesmo q fazer esta consulta incrementando na aplicação, já q ela serguirá uma sequência de registros.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.