sql - update com select

02/02/2020

10

preciso de ajuda para resolver o seguinte problema:

eu tenho a tabela DEPARTAMENTOS com as colunas ID_DEPT e NM_DEPT.
também tenho a tabela FUNCIONARIOS com as colunas ID_FUNC, NM_FUNC e ID_DEPT (sendo esta última a chave que liga as duas tabelas).

preciso transferir todos os funcionários do departamento cujo ID_DEPT seja 01 ou 02, para o departamento de ID_DEPT 03.

eu utilizo oracle. você pode me ajudar?
Responder

Post mais votado

03/02/2020

preciso de ajuda para resolver o seguinte problema:

eu tenho a tabela DEPARTAMENTOS com as colunas ID_DEPT e NM_DEPT.
também tenho a tabela FUNCIONARIOS com as colunas ID_FUNC, NM_FUNC e ID_DEPT (sendo esta última a chave que liga as duas tabelas).

preciso transferir todos os funcionários do departamento cujo ID_DEPT seja 01 ou 02, para o departamento de ID_DEPT 03.

eu utilizo oracle. você pode me ajudar?



Fala boy,

Faça o seguinte.

Update FUNCIONARIOS
SET ID_DEPT = :ID_DEPT
Where ID_DEPT IN (SELECT ID_DEPT DEPARTAMENTOS WHERE ID_DEPT BETWEEN :INICIO AND :FIM)

depois passa os parametros e pronto funcionará perfeitamente.

Query.ParamByName('ID_DEPT').value := EditDepartamentoFuncionario.Text; // Aqui tem um edit que você digita 3
Query.ParamByName('INICIO').value := EditDepartamentoInicio; // Aqui um edit que você digita 1
Query.ParamByName('FIM').value := EditDepartamentoFim.Text; // Aqui um edit que você digita 2

Espero ter ajudado.

Mais ajuda me chama

Skype: anderson@case13.com.br
Responder

Mais Posts

02/02/2020

Matheus Silva

preciso de ajuda para resolver o seguinte problema:

eu tenho a tabela DEPARTAMENTOS com as colunas ID_DEPT e NM_DEPT.
também tenho a tabela FUNCIONARIOS com as colunas ID_FUNC, NM_FUNC e ID_DEPT (sendo esta última a chave que liga as duas tabelas).

preciso transferir todos os funcionários do departamento cujo ID_DEPT seja 01 ou 02, para o departamento de ID_DEPT 03.

eu utilizo oracle. você pode me ajudar?



problema solucionado, na verdade foi bem simples; tanto que foi a última coisa que eu tentaria.
minha solução foi a seguinte:

update funcionarios
set id_dept = 5
where id_dept in (1, 2);


obrigado mesmo assim.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar