sql >> Base de Datos >  >> RDS >> Oracle

Cómo actualizar la tabla en Oracle

Este tutorial de SQL proporciona explicaciones, ejemplos para la declaración de actualización en Oracle

La declaración de actualización en Oracle se usa para actualizar las filas existentes en la tabla. Es una declaración DML. Lenguaje de manipulación de datos de soporte DML. Podemos usar esta instrucción para actualizar filas específicas, un conjunto de filas o todas las filas de la tabla.

La sintaxis se proporciona a continuación

Mesa :Es el nombre de la tabla que debe actualizarse
columna :es la columna única o la columna múltiple de la tabla la que debe actualizarse
valor :Es el valor de la columna a actualizar. podemos usar la subconsulta para obtener ese valor también
Condición :Es la condición where la que decide qué filas se actualizarán. Puede estar compuesto por nombres de columna, subconsultas de expresión y operadores de comparación

Punto importante
1) La declaración de actualización después de la finalización mostrará cuántas filas se actualizaron a menos que haya emitido comentarios desactivados
2) Si no se actualizan filas, mostrará 0 filas actualizadas
3) Los cambios realizados son visible en su sesión y no es visible para otra sesión en la base de datos de Oracle
4) Debe ejecutar "commit"; declaración para hacer los cambios permanentes en la base de datos o "rollback"; para revertir los cambios realizados
5) es bueno ejecutar primero la misma condición where con select para averiguar el número de filas y filas que se actualizarán antes de emitir la declaración de actualización
6) Si están apuntando a filas individuales, use la clave principal en Oracle si es posible

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.

Actualizar declaración usando subconsulta

También podemos usar la subconsulta dentro de la declaración de actualización.

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.

Declaración de actualización sin cláusula where

Puede actualizar todas las filas de la tabla si no especifica ninguna cláusula where en la declaración de actualización

Update FND_USER set end_date='1-JUN-2018'  ;

La declaración anterior actualizaría todas las filas de la tabla FND_USER

Actualizar estado de cuenta con varias columnas

Puede especificar varias columnas en la misma instrucción de actualización

Update FND_USER set end_date='1-JUN-2018' , password='' ;

La declaración anterior actualizaría todas las filas de la tabla FND_USER con la fecha de finalización especificada y anularía todas las contraseñas

Artículos relacionados

Instrucción INSERT en Oracle
Declaración de eliminación de tabla en Oracle
Ejemplo de creación de tabla de Oracle
Modificación de tabla en Oracle
Modificación de tabla Agregar columna de Oracle
Documentación de Oracle en actualización