Jump to content
Fórum Script Brasil
  • 0

Update em todos os registos do Banco


A Wanderley C

Question

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 to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...