Oracle Update Multiple Columns

Oracle Update Multiple Columns



Tento tutoriál vás naučí, jak aktualizovat více sloupců v databázové tabulce pomocí příkazu UPDATE.

Aktualizace více sloupců v databázové tabulce je pro správce databází běžným jevem. Možná budete muset například nastavit novou hodnotu pro sloupec na základě hodnoty jiného sloupce. Můžete například aktualizovat hodnotu platu na základě úrovně dovedností. Vzhledem k tomu, že úroveň dovedností se může v průběhu času několikrát změnit, můžete se přistihnout, že takový sloupec aktualizujete.

Pojďme se naučit, jak můžeme použít klauzuli UPDATE v Oracle k nastavení nových hodnot pro dané sloupce tabulky.







Prohlášení Oracle UPDATE

Chcete-li aktualizovat hodnotu v existující tabulce, použijeme příkaz UPDATE, jak je znázorněno v následující syntaxi:



AKTUALIZUJTE název_tabulky
SET sloupec1 = nová_hodnota1,
sloupec2 = nová_hodnota2,
...
sloupecN = nová_hodnotaN
KDE podmínka;

Kde:



  1. Název_tabulky představuje název tabulky, kterou chcete aktualizovat.
  2. Column_1, column_2,…,columnN definujte názvy sloupců, které chcete aktualizovat.
  3. New_value1, new_value2,…new_valueN vám umožňují nastavit novou hodnotu pro každý sloupec.
  4. Podmínka je volitelná klauzule, která umožňuje omezit aktualizované řádky. Pokud přeskočíte podmíněnou klauzuli, příkaz aktualizuje všechny řádky v tabulce.

Příklad aktualizace Oracle

Podívejme se na příklad ze skutečného světa, jak můžeme použít příkaz UPDATE v Oracle:





CREATE TABLE databáze (
jméno VARCHAR2 ( padesátka ) NENULOVÝ,
default_port NUMBER,
nejnovější_verze VARCHAR2 ( dvacet ) NENULOVÝ,
typ VARCHAR2 ( dvacet ) NENULOVÝ,
jazyk VARCHAR2 ( dvacet ) NENULOVÝ
) ;

Poskytnutý příkaz vytvoří tabulku pro uložení nejnovějších databází, výchozího portu, nejnovější verze databáze, typu databáze a programovacího jazyka, které se používají k sestavení databáze.

Můžeme vložit několik vzorových záznamů, jak je znázorněno v následujícím:



INSERT DO databází ( název, výchozí_port, nejnovější_verze, typ , Jazyk )
HODNOTY ( 'Věštec' , 1521 , '19c' , 'relační' , 'SQL' ) ;
INSERT DO databází ( název, výchozí_port, nejnovější_verze, typ , Jazyk )
HODNOTY ( 'MySQL' , 3306 , '8.0' , 'relační' , 'SQL' ) ;
INSERT DO databází ( název, výchozí_port, nejnovější_verze, typ , Jazyk )
HODNOTY ( 'PostgreSQL' , 5432 , '13' , 'relační' , 'SQL' ) ;
INSERT DO databází ( název, výchozí_port, nejnovější_verze, typ , Jazyk )
HODNOTY ( 'MongoDB' , 27017 , '4.4' , 'nevztahový' , 'JavaScript' ) ;
INSERT DO databází ( název, výchozí_port, nejnovější_verze, typ , Jazyk )
HODNOTY ( 'Microsoft SQL Server' , 1433 , '2017' , 'relační' , 'T-SQL' ) ;
INSERT DO databází ( název, výchozí_port, nejnovější_verze, typ , Jazyk )
HODNOTY ( 'Apache Cassandra' , 9042 , '4.0' , 'nevztahový' , 'Jáva' ) ;
INSERT DO databází ( název, výchozí_port, nejnovější_verze, typ , Jazyk )
HODNOTY ( 'Redis' , 6379 , '6.0' , 'nevztahový' , 'C++' ) ;
INSERT DO databází ( název, výchozí_port, nejnovější_verze, typ , Jazyk )
VAUES ( 'MariaDB' , 3306 , '10,5' , 'relační' , 'SQL' ) ;
INSERT DO databází ( název, výchozí_port, nejnovější_verze, typ , Jazyk )
HODNOTY ( 'SQLite' , nula, '3,34' , 'relační' , 'C' ) ;
INSERT DO databází ( název, výchozí_port, nejnovější_verze, typ , Jazyk )
HODNOTY ( 'neo4j' , 7474 , '4.1' , 'nevztahový' , 'Jáva' ) ;

POZNÁMKA: Výchozí_port pro databázi SQLite je nastaven na hodnotu NULL, protože SQLite nemá výchozí číslo portu.

Výsledná tabulka:

Tabulka aktualizací Oracle

Předpokládejme, že chceme aktualizovat nejnovější_verzi, název a výchozí port pro Microsoft SQL Server. Můžeme provést aktualizační dotaz, jak je znázorněno v následujícím:

aktualizovat databáze
soubor jméno = 'MS SQL Server' ,
default_port = 1400 ,
nejnovější_verze = '2022'
kde jméno jako 'Microsoft SQL Server' ;

Dotaz by měl najít řádek s názvem LIKE „Microsoft SQL Server“ a změnit název, výchozí_port a nejnovější_verzi na nové hodnoty.

POZNÁMKA: Předchozí údaje jsou pro demonstrační účely. Nemusí přesně odrážet aktuální informace o databázích.

Po aktualizaci můžeme novou tabulku pro změny dat zobrazit takto:

Jak vidíme, tabulka odráží aktualizované změny.

Závěr

V tomto kurzu jste narazili na příkaz UPDATE, který umožňuje aktualizovat jeden nebo více sloupců v databázové tabulce.

Nicméně, stejně jako většina databázových postupů, přichází s potenciálními nevýhodami. Například:

  1. Výkon – Provádění aktualizace více sloupců je časově náročnější a náročnější na zdroje než aktualizace jednoho sloupce. To se stává významnějším, zejména při násobení velkého počtu řádků se složitými daty.
  2. Integrita dat – Dalším problémem při aktualizaci více sloupců je integrita dat. Při nesprávném použití může aktualizace více sloupců vést k poškození nebo ztrátě dat. Můžete se ponořit do různých technik normalizace dat, abyste to zmírnili, ale vždy je dobré být na pozoru. Své aktualizační dotazy můžete také otestovat ve vývoji, než je přenesete do produkce.
  3. Složitost dotazů – Podobně může spuštění aktualizačních příkazů zvýšit složitost vašich dotazů a ztížit jejich čtení, údržbu nebo ladění.

Nakonec může být v některých situacích užitečná aktualizace více sloupců v databázi Oracle. Přesto je nezbytné zvážit použití osvědčených postupů k minimalizaci rizik.