Tento kurz SQL poskytuje vysvětlení a příklady příkazu Update v oracle
Příkaz Update v oracle se používá k aktualizaci existujících řádků v tabulce. Je to prohlášení DML. DML představuje jazyk pro manipulaci s daty. Tento příkaz můžeme použít k aktualizaci konkrétních řádků, sady řádků nebo všech řádků v tabulce.
Syntaxe je uvedena níže
Tabulka :Je to název tabulky, který je třeba aktualizovat
sloupec :je to jeden nebo více sloupců v tabulce, které je třeba aktualizovat
hodnota :Je to hodnota sloupce, který má být aktualizován. k získání této hodnoty můžeme použít také poddotaz
Podmínka :Je to podmínka where, která rozhoduje o tom, které všechny řádky budou aktualizovány. Může se skládat z názvů sloupců, poddotazů výrazů a operátorů porovnání
Důležitý bod
1) Příkaz aktualizace po dokončení zobrazí, kolik řádků bylo aktualizováno, pokud jste nevydali zpětnou vazbu.
2) Pokud nebyly aktualizovány žádné řádky, zobrazí se 0 aktualizovaných řádků
3) Provedené změny jsou viditelný ve vaší relaci a není viditelný pro ostatní relaci v databázi Oracle
4) Musíte provést „commit;“ prohlášení, které provede změny v databázi natrvalo nebo „rollback“; pro vrácení provedených změn
5) je dobré nejprve provést stejnou podmínku where s selectem, abyste zjistili počet řádků a řádků, které se budou aktualizovat před vydáním příkazu aktualizace
6) Pokud cílí na jednotlivé řádky, pokud je to možné, použijte primární klíč v 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.
Aktualizujte příkaz pomocí dílčího dotazu
Můžeme také použít poddotaz uvnitř příkazu aktualizace.
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.
Aktualizujte prohlášení pomocí klauzule out where
Všechny řádky v tabulce můžete aktualizovat tak, že neuvedete žádnou klauzuli where v příkazu aktualizace
Update FND_USER set end_date='1-JUN-2018' ;
Výše uvedený příkaz aktualizuje všechny řádky v tabulce FND_USER
Aktualizovat výpis s více sloupci
Ve stejném příkazu aktualizace můžete zadat více sloupců
Update FND_USER set end_date='1-JUN-2018' , password='' ;
Výše uvedený příkaz aktualizuje všechny řádky v tabulce FND_USER se zadaným datem konce a vynuluje všechna hesla
Související články
Příkaz INSERT v Oracle
Odstranit z příkazu tabulky v Oracle
oracle vytvořit příklad tabulky
Změnit tabulku v Oracle
změnit tabulku přidat sloupec oracle
Dokumentace Oracle k aktualizaci