Ir para conteúdo
Fórum Script Brasil
  • 0

Update em todos os registos do Banco


A Wanderley C

Pergunta

Boa tarde,

Estou precisando fazer este update na tabela em todos os registros que atenderem ao "where" mas não estou conseguindo com o comando abaixo:

UPDATE Contratados
      Set Contratados.CON_CdiSituacao = 2
FROM Empresas Empresas
      INNER JOIN Locais Locais ON ( 
     (Empresas.EMP_CdiEmpresa = Locais.LOC_CdiEmpresa)
      )  INNER JOIN Folhas Folhas ON ( 
     (Locais.LOC_CdiLocal = Folhas.FOL_CdiLocal)
      )  INNER JOIN Contratados Contratados ON ( 
     (Folhas.FOL_CdiFolha = Contratados.CON_CdiFolha)
      ) 
WHERE ( Empresas.EMP_OplDesativada IS NOT NULL  )

Agradeço antecipado qualquer ajuda.

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Boa tarde Wanderley,

Qual o erro q está ocorrendo? Poderá fazer desta forma também:

UPDATE Contratados
Set Contratados.CON_CdiSituacao = 2
FROM Empresas, Locais, Folhas, Contratados WHERE Empresas.EMP_CdiEmpresa = Locais.LOC_CdiEmpresa
AND Locais.LOC_CdiLocal = Folhas.FOL_CdiLocal AND Folhas.FOL_CdiFolha = Contratados.CON_CdiFolha AND Empresas.EMP_OplDesativada IS NOT NULL

Link para o comentário
Compartilhar em outros sites

  • 0
Boa tarde,

Estou precisando fazer este update na tabela em todos os registros que atenderem ao "where" mas não estou conseguindo com o comando abaixo:

UPDATE Contratados

Set Contratados.CON_CdiSituacao = 2

FROM Empresas Empresas

INNER JOIN Locais Locais ON (

(Empresas.EMP_CdiEmpresa = Locais.LOC_CdiEmpresa)

) INNER JOIN Folhas Folhas ON (

(Locais.LOC_CdiLocal = Folhas.FOL_CdiLocal)

) INNER JOIN Contratados Contratados ON (

(Folhas.FOL_CdiFolha = Contratados.CON_CdiFolha)

)

WHERE ( Empresas.EMP_OplDesativada IS NOT NULL )

Agradeço antecipado qualquer ajuda.

Boa tarde Wanderley,

Qual o erro q está ocorrendo? Poderá fazer desta forma também:

UPDATE Contratados
Set Contratados.CON_CdiSituacao = 2
FROM Empresas, Locais, Folhas, Contratados WHERE Empresas.EMP_CdiEmpresa = Locais.LOC_CdiEmpresa
AND Locais.LOC_CdiLocal = Folhas.FOL_CdiLocal AND Folhas.FOL_CdiFolha = Contratados.CON_CdiFolha AND Empresas.EMP_OplDesativada IS NOT NULL
Fulvio, Grato pela atenção. Executei o comando e depois dei um Select mas não alterou nada, inclusive no comando que lhe passei, falto a última linha. Segue completo agora:
UPDATE Contratados
      Set Contratados.CON_CdiSituacao = 2
FROM Empresas Empresas
      INNER JOIN Locais Locais ON ( 
     (Empresas.EMP_CdiEmpresa = Locais.LOC_CdiEmpresa)
      )  INNER JOIN Folhas Folhas ON ( 
     (Locais.LOC_CdiLocal = Folhas.FOL_CdiLocal)
      )  INNER JOIN Contratados Contratados ON ( 
     (Folhas.FOL_CdiFolha = Contratados.CON_CdiFolha)
      ) 
WHERE ( Empresas.EMP_OplDesativada IS NOT NULL  )
       AND ( Contratados.CON_CdiSituacao IN (1,3,5,6,7,9) )

Link para o comentário
Compartilhar em outros sites

  • 0

Se não alterou nada, quer dizer que seu script está correto, mas os filtros não estão "achando" nenhum registro para alterar.

Para conferir, você pode pegar a estrutura do "update" como está e alterar para "select". Aí você poderá conferir o que lista como resultado. Ficará assim:

SELECT *
FROM Empresas Empresas
INNER JOIN Locais Locais ON ( 
(Empresas.EMP_CdiEmpresa = Locais.LOC_CdiEmpresa)
) INNER JOIN Folhas Folhas ON ( 
(Locais.LOC_CdiLocal = Folhas.FOL_CdiLocal)
) INNER JOIN Contratados Contratados ON ( 
(Folhas.FOL_CdiFolha = Contratados.CON_CdiFolha)
) 
WHERE ( Empresas.EMP_OplDesativada IS NOT NULL )
AND ( Contratados.CON_CdiSituacao IN (1,3,5,6,7,9) )

Link para o comentário
Compartilhar em outros sites

  • 0

É por isso que o update não está alterando nada. Se no select não listar registros, o update não irá alterar nada.

O seu select está incorreto, ou realmente não existem registros a serem alterados.

Em relação a cor, se estiver em algum aplicativo de edição (ou até mesmo na parte gráfica do sql) as palavras reservadas, funções nativas, cláusulas, etc aparecerão de cores diferentes. Não se preocupe quanto a isto.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...