Pular para o conteúdo
  • Este tópico contém 3 respostas, 4 vozes e foi atualizado pela última vez 18 anos atrás por paulolaux.
Visualizando 4 posts - 1 até 4 (de 4 do total)
  • Autor
    Posts
  • #78180
    Anônimo

      Olá pessoal… mais uma vez..

      tenho um select que precisa travar para update, fiz desse modo:

      select * from alunos for update of alunos.nome, alunos.sala;

      tenho a seguinte pergunta:
      teria como eu fazer algo do tipo update of alunos.*; declarar todos os campos.

      grato a todos.

      #78203
      Marcio68Almeida
      Participante

        Quando você faz um UPDATE, você estará mudando o valor das colunas, portanto você tem que definir o novo valor…
        Não vejo onde você usaria um update asterisco…

        #78204
        chduarte
        Participante

          Para voce ter o comportamento do select * from table update of table.* é so usar select * from tabela for update

          O “OF COLUNA” nao significa que voce somente ira bloquear uma coluna. Ele serve para voce bloquear uma tabela inteira no caso de voce ter um join entre duas tabelas e nao querer bloquear as duas.

          No caso de um “SELECT campo1,campo2,campo3 FROM TABELA FOR UPDATE” tem o mesmo comportamento de “SELECT campo1,campo2,campo3 FROM TABELA FOR UPDATE of campo1”

          []

          #78305
          paulolaux
          Participante

            Tambem estou com um problema parecido…

            Tenho uma aplicacao em Delphi 7 que acessa o OracleXE. Quando eu executo a consulta no SQLPlus ela nao apresenta erro nenhum, mas quando eh executada pela query na minha aplicacao ela apresenta um erro na DLL “dbexpora.dll”.

            A consulta eh essa:

            SELECT Num_Documento FROM Documentos
            WHERE ( Cod_Pasta = :CodPasta )
            FOR UPDATE OF Num_Documento
            ORDER BY Num_Documento DESC;

            OBS.: O parametro cod_pasta eh passado pela aplicacao.

            O curioso eh que quando eu tiro o FOR UPDATE da expressao a aplicacao nao apresenta erro algum. So que pelo andei lendo, sem o FOR UPDATE eu nao tenho controle de concorrencia.

            Alguem pode ajudar???

          Visualizando 4 posts - 1 até 4 (de 4 do total)
          • Você deve fazer login para responder a este tópico.
          plugins premium WordPress