Instrução UPDATE

A instrução UPDATE altera os valores das colunas especificadas em uma ou mais linhas em uma tabela ou exibição. Para obter uma descrição completa da UPDATE instrução SQL, consulte Oracle Database SQL Reference.

Sintaxe

update statement :: =

Descrição da ilustração update_statement.gif

Descrição de palavra-chave e parâmetro

alias

Outro nome (geralmente curto) para a tabela ou visualização referenciada, normalmente usado na cláusula WHERE.

column_name

A coluna (ou uma das colunas) a ser atualizada. Deve ser o nome de uma coluna na tabela ou visão referenciada. Um nome de coluna não pode ser repetido na lista column_name. Os nomes das colunas não precisam aparecer na instrução UPDATE na mesma ordem em que aparecem na tabela ou visualização.

Return_clause

Retorna valores das linhas atualizadas, eliminando a necessidade de SELECT as linhas posteriormente. Você pode recuperar os valores da coluna em variáveis ou variáveis de host, ou em coleções ou matrizes de host. Você não pode usar a cláusula RETURNING para atualizações remotas ou paralelas. Se a instrução não afetar nenhuma linha, os valores das variáveis especificadas na cláusula RETURNING são indefinidos. Para obter a sintaxe de returning_clause, consulte “Cláusula RETURNING INTO”.

SET column_name = sql_expression

Esta cláusula atribui o valor de sql_expression à coluna identificada por column_name. Se sql_expression contém referências a colunas na tabela que está sendo atualizada, as referências são resolvidas no contexto da linha atual. Os valores das colunas antigas são usados no lado direito do sinal de igual.

SET column_name = (subquery3)

Atribui o valor recuperado do banco de dados por subquery3 para a coluna identificada por column_name. A subconsulta deve retornar exatamente uma linha e uma coluna.

SET (column_name, column_name, …) = (subquery4)

Atribui os valores recuperados do banco de dados por subquery4 às colunas na lista column_name. A subconsulta deve retornar exatamente uma linha que inclui todas as colunas listadas. Os valores da coluna retornados pela subconsulta são atribuídos às colunas na lista de colunas em ordem. O primeiro valor é atribuído à primeira coluna da lista, o segundo valor é atribuído à segunda coluna da lista e assim por diante.

sql_expression

Qualquer expressão SQL válida. Para obter mais informações, consulte Oracle Database SQL Reference.

subconsulta

Uma instrução SELECT que fornece um conjunto de linhas para processamento. Sua sintaxe é como a de select_into_statement sem a cláusula INTO. Consulte “Instrução SELECT INTO”.

table_reference

Uma tabela ou visão que deve estar acessível quando você executa a instrução UPDATE e para que você deve ter UPDATE privilégios. Para obter a sintaxe de table_reference, consulte “Instrução DELETE”.

TABLE (subconsulta2)

O operando de TABLE é uma instrução SELECT que retorna um único valor de coluna, que deve ser uma tabela aninhada ou um varray. O operador TABLE informa ao Oracle que o valor é uma coleção, não um valor escalar.

WHERE CURRENT OF cursor_name

Refere-se à última linha processado pela instrução FETCH associada ao cursor especificado. O cursor deve ser FOR UPDATE e deve estar aberto e posicionado em uma linha. Se o cursor não estiver aberto, a cláusula CURRENT OF causa um erro. Se o cursor estiver aberto, mas nenhuma linha foi buscada ou a última busca não retornou nenhuma linha, o PL / SQL gera a exceção predefinida NO_DATA_FOUND.

WHERE condição_de_pesquisa

Escolhe quais linhas atualizar na tabela do banco de dados. Apenas as linhas que atendem à condição de pesquisa são atualizadas. Se você omitir esta cláusula, todas as linhas da tabela serão atualizadas.

Notas de uso

Você pode usar o UPDATE WHERE CURRENT OF instrução após uma busca de um cursor aberto (incluindo buscas feitas por um cursor FOR loop), desde que a consulta associada seja FOR UPDATE. Esta instrução atualiza a linha que acabou de ser obtida.

O cursor implícito SQL e os atributos do cursor %NOTFOUND, %FOUND, %ROWCOUNT e %ISOPEN permitem acessar informações úteis sobre a execução de um UPDATE declaração.

Exemplos

O Exemplo 13-7 cria uma tabela com IDs de funcionários corretos, mas nomes ilegíveis. Em seguida, ele executa uma instrução UPDATE com uma consulta correlacionada, para recuperar os nomes corretos da tabela EMPLOYEES e corrigir os nomes na nova tabela .

Para obter exemplos, consulte o seguinte:

Exemplo 1-12, “Criando um subprograma armazenado”
Exemplo 4-1, “Usando uma instrução IF-THEN simples”
Exemplo 5-51, “Atualizando uma linha usando um registro”
Exemplo 5-52, “Usando a cláusula RETURNING com um registro”
Exemplo 6-1, “Manipulação de dados com PL / SQL”
Exemplo 6-5, “Usando CURRVAL e NEXTVAL”
Exemplo 6-6, “Usando ROWNUM”
Exemplo 6-38, “Usando SAVEPOINT com ROLLBACK”
Exemplo 6-41, “Usando CURRENT OF para atualizar a última linha obtida de um cursor “
Exemplo 7-1,” Exemplos de SQL dinâmico “
Exemplo 7-5,” SQL dinâmico com cláusula RETURNING BULK COLLECT INTO “
Exemplo 7-6 , “Instrução Dynamic SQL Inside FORALL”
Exemplo 11-6, “Usando rollbacks com FORALL”
Exemplo 11-9, “Operação em massa que continua apesar das exceções”

Tópicos relacionados

“Manipulação de dados”
“Instrução DELETE”
“Instrução FETCH”
“Instrução INSERT”

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *