Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como atualizar a tabela no oracle


Este tutorial SQL fornece explicações, exemplos para instrução Update no oracle

A instrução de atualização no oracle é usada para atualizar as linhas existentes na tabela. É uma declaração DML. Linguagem de manipulação de dados de suporte DML. Podemos usar esta instrução para atualizar linhas específicas, conjunto de linhas ou todas as linhas da tabela.

A sintaxe é fornecida abaixo

Tabela :É o nome da tabela que precisa ser atualizado
coluna :é a coluna única ou a coluna múltipla na tabela que precisa ser atualizada
valor :É o valor da coluna a ser atualizada. podemos usar a subconsulta para obter esse valor também
Condição :É a condição where que decide quais linhas serão atualizadas. Pode ser composto por nomes de colunas, subconsultas de expressão e operadores de comparação

Ponto importante
1) A instrução de atualização após a conclusão mostrará quantas linhas atualizadas, a menos que você tenha emitido um feedback definido
2) Se nenhuma linha for atualizada, exibirá 0 linhas atualizadas
3) As alterações feitas são visível em sua sessão e não é visível para outra sessão no banco de dados oracle
4) Você precisa executar “commit;” declaração para tornar as alterações permanentes no banco de dados ou “reversão”; para reverter as alterações feitas
5) é bom primeiro executar a mesma condição where com select para descobrir o número de linhas e linhas que serão atualizadas antes de emitir a instrução de atualização
6) Se você estão segmentando para linhas únicas, use a chave primária no oracle se possível
SQL> select * from emp where EMPNO=7844;

EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- --------------- ---------- ----------
DEPTNO
----------
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0
30

SQL> update emp set SAL=15000 where EMPNO=7844;

1 row updated.

SQL> select * from emp where EMPNO=7844;

EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- --------------- ---------- ----------
DEPTNO
----------
7844 TURNER SALESMAN 7698 08-SEP-81 15000 0
30

SQL> commit;

Commit complete.

Instrução de atualização usando subconsulta


Também podemos usar a subconsulta dentro da instrução de atualização.
SQL> select * from emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- --------------- ---------- ----------
DEPTNO
----------
7902 FORD ANALYST 7566 03-DEC-81 3000
20

7934 MILLER CLERK 7782 23-JAN-82 1300
10

2 rows selected.

SQL> update emp set sal=(select sal from emp where empno=7934) where EMPNO=7902;

1 row updated.

SQL> select * from emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- --------------- ---------- ----------
DEPTNO
----------
7902 FORD ANALYST 7566 03-DEC-81 1300
20

7934 MILLER CLERK 7782 23-JAN-82 1300
10

2 rows selected.

SQL> commit;

Commit complete.

Declaração de atualização sem cláusula where


Você pode atualizar todas as linhas na tabela não especificando nenhuma cláusula where na instrução de atualização
Update FND_USER set end_date='1-JUN-2018'  ;

A instrução acima atualizaria todas as linhas da tabela FND_USER

Atualizar declaração com várias colunas


Você pode especificar várias colunas na mesma instrução de atualização
Update FND_USER set end_date='1-JUN-2018' , password='' ;

A instrução acima atualizaria todas as linhas na tabela FND_USER com data_final especificada e anularia toda a senha

Artigos relacionados

Instrução INSERT no Oracle
Excluir da tabela declaração no Oracle
exemplo de criação de tabela do oracle
Alter Table no Oracle
alter table add column oracle
Documentação do Oracle na atualização