Този урок за SQL предоставя обяснения, примери за изявление за актуализиране в oracle
Изявлението за актуализиране в oracle се използва за актуализиране на съществуващите редове в таблицата. Това е DML изявление. DML език за манипулиране на данни. Можем да използваме този израз, за да актуализираме конкретни редове, набор от редове или всички редове в таблицата.
Синтаксисът е даден по-долу
Таблица :Това е името на таблицата, което трябва да се актуализира
колона :това е една колона или няколко колони в таблицата, която трябва да бъде актуализирана
стойност :Това е стойността на колоната, която трябва да се актуализира. можем да използваме подзаявка, за да получим и тази стойност
Условие :Това е условието, което решава кои всички редове ще бъдат актуализирани. Може да се състои от имена на колони, подзаявки на изрази и оператори за сравнение
Важен момент
1) Изявлението за актуализиране след завършване ще покаже колко реда са актуализирани, освен ако не сте изключили зададената обратна връзка
2) Ако няма актуализирани редове, ще покаже 0 актуализирани реда
3) Направените промени са видимо във вашата сесия и не е видимо за друга сесия в базата данни на Oracle
4) Трябва да изпълните „commit;“ изявление, за да направите промените постоянни в базата данни или „връщане назад“; за връщане на направените промени
5) добре е първо да изпълните същото условие where с select, за да разберете броя на редовете и редовете, които ще бъдат актуализирани, преди да издадете изявление за актуализиране
6) Ако са насочени към единични редове, използвайте първичен ключ в oracle, ако е възможно
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.
Актуализиране на израза чрез подзаявка
Можем да използваме и подзаявка в изявлението за актуализиране.
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.
Изявление за актуализиране без клауза къде
Можете да актуализирате всички редове в таблицата, като не посочвате клауза where в оператора за актуализиране
Update FND_USER set end_date='1-JUN-2018' ;
Горният оператор ще актуализира всички редове в таблицата FND_USER
Изявление за актуализиране с множество колони
Можете да посочите няколко колони в едно и също изявление за актуализиране
Update FND_USER set end_date='1-JUN-2018' , password='' ;
Горното изявление ще актуализира всички редове в таблицата FND_USER с определена крайна дата и нула цялата парола
Сродни статии
Инструкция INSERT в Oracle
Изтриване от израз на таблица в Oracle
пример за създаване на таблица на oracle
Промяна на таблица в Oracle
промяна на таблица добавяне на колона oracle
документация на Oracle при актуализиране