Aktualizácia Oracle viacerých stĺpcov

Aktualizacia Oracle Viacerych Stlpcov



Tento tutoriál vás naučí, ako aktualizovať viacero stĺpcov v databázovej tabuľke pomocou príkazu UPDATE.

Aktualizácia viacerých stĺpcov v databázovej tabuľke je bežným javom pre správcov databáz. Možno budete musieť napríklad nastaviť novú hodnotu pre stĺpec na základe hodnoty iného stĺpca. Môžete napríklad aktualizovať hodnotu platu na základe úrovne zručností. Keďže úroveň zručností sa môže v priebehu času niekoľkokrát meniť, môžete sa ocitnúť pri aktualizácii takéhoto stĺpca.

Poďme sa naučiť, ako môžeme použiť klauzulu UPDATE v Oracle na nastavenie nových hodnôt pre dané stĺpce tabuľky.







Vyhlásenie Oracle UPDATE

Ak chcete aktualizovať hodnotu v existujúcej tabuľke, použijeme príkaz UPDATE, ako je znázornené v nasledujúcej syntaxi:



UPDATE table_name
SET stĺpec1 = nová_hodnota1,
stĺpec2 = nová_hodnota2,
...
stĺpecN = nová_hodnotaN
KDE podmienka;

Kde:



  1. Table_name predstavuje názov tabuľky, ktorú chcete aktualizovať.
  2. Column_1, column_2,…,columnN definujte názvy stĺpcov, ktoré chcete aktualizovať.
  3. New_value1, new_value2,…new_valueN vám umožňujú nastaviť novú hodnotu pre každý stĺpec.
  4. Podmienka je voliteľná klauzula, ktorá vám umožňuje obmedziť aktualizované riadky. Ak preskočíte podmienenú klauzulu, príkaz aktualizuje všetky riadky v tabuľke.

Príklad aktualizácie Oracle

Pozrime sa na príklad z reálneho sveta, ako môžeme použiť príkaz UPDATE v Oracle:





CREATE TABLE databázy (
názov VARCHAR2 ( päťdesiat ) NIE JE NULL,
default_port NUMBER,
najnovšia_verzia VARCHAR2 ( dvadsať ) NIE JE NULL,
typu VARCHAR2 ( dvadsať ) NIE JE NULL,
jazyk VARCHAR2 ( dvadsať ) NIE JE NULL
) ;

Poskytnutý príkaz vytvorí tabuľku na uloženie najnovších databáz, predvoleného portu, najnovšej verzie databázy, typu databázy a programovacieho jazyka, ktoré sa používajú na zostavenie databázy.

Môžeme vložiť niekoľko vzorových záznamov, ako je uvedené nižšie:



INSERT DO databáz ( názov, predvolený_port, najnovšia_verzia, typu , Jazyk )
HODNOTY ( 'Oracle' , 1521 , '19c' , 'relačný' , 'SQL' ) ;
INSERT DO databáz ( názov, predvolený_port, najnovšia_verzia, typu , Jazyk )
HODNOTY ( 'MySQL' , 3306 , '8.0' , 'relačný' , 'SQL' ) ;
INSERT DO databáz ( názov, predvolený_port, najnovšia_verzia, typu , Jazyk )
HODNOTY ( 'PostgreSQL' , 5432 , '13' , 'relačný' , 'SQL' ) ;
INSERT DO databáz ( názov, predvolený_port, najnovšia_verzia, typu , Jazyk )
HODNOTY ( 'MongoDB' , 27017 , '4.4' , „nevzťahový“ , 'JavaScript' ) ;
INSERT DO databáz ( názov, predvolený_port, najnovšia_verzia, typu , Jazyk )
HODNOTY ( 'Microsoft SQL Server' , 1433 , '2017' , 'relačný' , 'T-SQL' ) ;
INSERT DO databáz ( názov, predvolený_port, najnovšia_verzia, typu , Jazyk )
HODNOTY ( 'Apache Cassandra' , 9042 , '4.0' , „nevzťahový“ , 'Java' ) ;
INSERT DO databáz ( názov, predvolený_port, najnovšia_verzia, typu , Jazyk )
HODNOTY ( 'Redis' , 6379 , '6.0' , „nevzťahový“ , 'C++' ) ;
INSERT DO databáz ( názov, predvolený_port, najnovšia_verzia, typu , Jazyk )
VAUES ( 'MariaDB' , 3306 , '10,5' , 'relačný' , 'SQL' ) ;
INSERT DO databáz ( názov, predvolený_port, najnovšia_verzia, typu , Jazyk )
HODNOTY ( 'SQLite' , nulový, '3,34' , 'relačný' , 'C' ) ;
INSERT DO databáz ( názov, predvolený_port, najnovšia_verzia, typu , Jazyk )
HODNOTY ( 'neo4j' , 7474 , '4.1' , „nevzťahový“ , 'Java' ) ;

POZNÁMKA: Predvolený_port pre databázu SQLite je nastavený na hodnotu NULL, pretože SQLite nemá predvolené číslo portu.

Výsledná tabuľka:

Tabuľka aktualizácií Oracle

Predpokladajme, že chceme aktualizovať najnovšiu_verziu, názov a predvolený port pre Microsoft SQL Server. Môžeme vykonať aktualizačný dotaz, ako je uvedené nižšie:

aktualizovať databázy
nastaviť meno = 'MS SQL Server' ,
default_port = 1400 ,
najnovšia_verzia = '2022'
kde meno ako 'Microsoft SQL Server' ;

Dotaz by mal nájsť riadok s názvom LIKE „Microsoft SQL Server“ a zmeniť názov, predvolený_port a najnovšiu_verziu na nové hodnoty.

POZNÁMKA: Predchádzajúce údaje slúžia na demonštračné účely. Nemusí presne odrážať aktuálne informácie o databázach.

Po aktualizácii môžeme zobraziť novú tabuľku zmien údajov takto:

Ako vidíme, tabuľka odráža aktualizované zmeny.

Záver

V tomto návode ste narazili na príkaz UPDATE, ktorý vám umožňuje aktualizovať jeden alebo viacero stĺpcov v databázovej tabuľke.

Avšak, ako väčšina databázových postupov, má potenciálne nevýhody. Napríklad:

  1. Výkon – Aktualizácia viacerých stĺpcov je časovo a zdrojovo náročnejšia ako aktualizácia jedného stĺpca. To sa stáva dôležitejším, najmä pri násobení veľkého počtu riadkov s komplexnými údajmi.
  2. Integrita údajov – Ďalším problémom pri aktualizácii viacerých stĺpcov je integrita údajov. Ak sa použije nesprávne, aktualizácia viacerých stĺpcov môže viesť k poškodeniu alebo strate údajov. Môžete sa ponoriť do rôznych techník normalizácie údajov, aby ste to zmiernili, ale vždy je dobré si to uvedomiť. Svoje aktualizačné dotazy môžete tiež otestovať vo vývoji predtým, ako ich prenesiete do produkcie.
  3. Zložitosť dotazov – Podobne spustenie aktualizačných príkazov môže zvýšiť zložitosť vašich dotazov, čo sťaží ich čítanie, údržbu alebo ladenie.

V konečnom dôsledku môže byť v niektorých situáciách užitočná aktualizácia viacerých stĺpcov v databáze Oracle. Napriek tomu je nevyhnutné zvážiť použitie osvedčených postupov na minimalizáciu rizík.