Ir para conteúdo

Arquivado

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

Ewerton Batista

Update em tabela com condição em outra

Recommended Posts

Bom dia pessoal,

 

estou precisando fazer um SQL UPDATE da seguinte maneira:

tenho uma tabela NOTAFISCAL e outra ITEM_NOTA_FISCAL, a coluna que relaciona estas duas tabelas tem o nome de NFSCTR.

eu preciso fazer um UPDATE na tabela ITEM_NOTA_FISCAL na coluna CFOCOD passando o valor para '59290' quando a coluna CFOCOD da tabela NOTAFISCAL for '59290' e a coluna NFSCTR (relacionando as duas tabelas) = '0000001'.

 

resumindo seria assim: UPDATE ITEM_NOTA_FISCAL SET CFOCOD = '59290' WHERE CFOCOD 'DA TABELA NOTAFISCAL' = '59290' AND NFSCTR (relacionando as duas tabelas) = '0000001'.

não sei a sintaxe pra fazer esse SQL, poderiam me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Creio que seu update será algo parecido com isto (se entendi certo o relacionamento das tabelas)

 

update 	ITEM_NOTA_FISCAL 
set 	CFOCOD = '59290'
from 	NOTAFISCAL nf,
	ITEM_NOTA_FISCAL inf
where 	nf.CFOCOD = '59290' 
and		nf.NFSCTR = '0000001'
and 	inf.NFSCTR = nf.NFSCTR 

 

Dica: rode primeiro o select e se retornar só os itens que quer atualizar, ai sim troque o select pelo update do campo desejado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não manjo dessa linguagem, mas sei que em oracle 10g e sqlServer tem a função Trigger (gatilho) é algo do tipo:

"Quando tal coisa acontece a uma tabela, tal coisa acontece a outra"

"Quando um insert ocorre na tabela Cotação, a cotação da tabela despesa subtrai 1"

 

 

chama gatilho pq uma primeira ação aperta o "gatilho" que ativa a outra ação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Creio que seu update será algo parecido com isto (se entendi certo o relacionamento das tabelas)

 

update 	ITEM_NOTA_FISCAL 
set 	CFOCOD = '59290'
from 	NOTAFISCAL nf,
	ITEM_NOTA_FISCAL inf
where 	nf.CFOCOD = '59290' 
and		nf.NFSCTR = '0000001'
and 	inf.NFSCTR = nf.NFSCTR 

 

Dica: rode primeiro o select e se retornar só os itens que quer atualizar, ai sim troque o select pelo update do campo desejado.

 

 

Olá Chrnos,

 

então tentei rodar da forma que falou, o SELECT roda belezinha, mas o UPDATE não vai não!

dá esse erro aqui:

 

ISC ERROR CODE:335544569

ISC ERROR MESSAGE:
Dynamic SQL Error
SQL error code = -104
Token unknown - line 3, column 1
from

 

o erro está no FROM, não reconheceu a sintaxe.

 

Obrigado pela atenção, conto com sua ajuda!

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.