UPDATE utasítás

A UPDATE utasítás megváltoztatja a megadott oszlopok értékeit egy vagy több sorban egy táblázatban vagy nézetben. Az UPDATE SQL utasítás teljes leírását lásd: Oracle Database SQL Reference.

Szintaxis

update utasítás :: =

Az update_statement.gif ábra leírása

Kulcsszó és paraméter leírása

alias

A hivatkozott táblázat vagy nézet másik (általában rövid) neve, amelyet általában a WHERE záradékban használnak.

oszlop_név

A frissítendő oszlop (vagy az egyik oszlop). Ennek egy oszlop nevének kell lennie a hivatkozott táblázatban vagy nézetben. Az oszlop neve nem ismételhető meg a column_name listában. Az oszlopneveknek nem kell ugyanabban a sorrendben megjelenniük a UPDATE utasításban, mint a táblázatban vagy a nézetben.

returning_clause

Értékeket ad vissza frissített sorokból, feleslegessé téve a sorok utólagos SELECT átírását. Letöltheti az oszlop értékeit változókba vagy gazdagép változókba, vagy gyűjteményekbe vagy gazdagép tömbökbe. Nem használhatja a RETURNING záradékot távoli vagy párhuzamos frissítésekhez. Ha az utasítás egyetlen sort sem érint, akkor a RETURNING záradékban megadott változók értékei nincsenek meghatározva. Az returning_clause szintaxisáról lásd: “RETURNING INTO Clause”.

SET column_name = sql_expression

Ez a záradék a sql_expression a column_name által azonosított oszlopra. Ha az sql_expression hivatkozásokat tartalmaz a frissítendő táblázat oszlopaira, a hivatkozások az aktuális sor összefüggésében kerülnek feloldásra. A régi oszlopértékeket az egyenlőségjel jobb oldalán használják.

SET oszlopnév = (subquery3)

Hozzárendeli az adatbázisból a az column_name által azonosított oszlopra. Az allekérdezésnek pontosan egy sort és egy oszlopot kell visszaadnia.

SET (oszlop_név, oszlopnév, …) = (allekérdezés4)

Hozzárendeli az adatbázisból a subquery4 a column_name lista oszlopaihoz. Az alkérdezésnek pontosan egy sort kell visszaadnia, amely tartalmazza az összes felsorolt oszlopot. Az allekérdezés által visszaadott oszlopértékek az oszloplista oszlopaihoz vannak rendezve. Az első értéket a lista első oszlopához, a második értéket a lista második oszlopához kell rendelni, és így tovább.

sql_expression

Bármely érvényes SQL kifejezés. További információ: Oracle Database SQL Reference.

subquery

A SELECT utasítás, amely sorok készítését adja a feldolgozáshoz. Szintaxisa olyan, mint a select_into_statement -nek, a INTO záradék nélkül. Lásd: “SELECT INTO utasítás”.

table_reference

Táblázat vagy nézet, amelynek hozzáférhetőnek kell lennie a UPDATE utasítás végrehajtásakor, és amelyeknek UPDATE jogosultságokkal kell rendelkeznie. A table_reference szintaxisával kapcsolatban lásd: “Mentés törlése”.

TABLE (subquery2)

A egy SELECT utasítás, amely egyetlen oszlopértéket ad vissza, amelynek beágyazott táblának vagy varray-nek kell lennie. Az TABLE operátor tájékoztatja az Oracle-t, hogy az érték gyűjtemény, nem skaláris érték.

WHERE CURRENT OF cursor_name

A legújabb sorra vonatkozik a megadott kurzorhoz társított FETCH utasítás feldolgozza. A kurzornak FOR UPDATE kell lennie, nyitottnak és egy sorban elhelyezkedőnek kell lennie. Ha a kurzor nincs nyitva, a CURRENT OF záradék hibát okoz. Ha a kurzor nyitva van, de még nincsenek beolvasva sorok, vagy az utolsó lekérés nem adott sorokat, a PL / SQL felveti az előre definiált kivételt NO_DATA_FOUND. / p>

Kiválasztja az adatbázis-táblázat frissítendő sorait. Csak azok a sorok frissülnek, amelyek megfelelnek a keresési feltételnek. Ha kihagyja ezt a záradékot, a táblázat minden sora frissül.

Használati megjegyzések

Használhatja a UPDATE WHERE CURRENT OF utasítás egy nyitott kurzorból való beolvasás után (beleértve a kurzor által végrehajtott beolvasásokat is FOR hurok), feltéve, hogy a társított lekérdezés FOR UPDATE. Ez az utasítás frissíti az imént beolvasott sort.

Az implicit kurzor SQL és a kurzor attribútumai %NOTFOUND, %FOUND, %ROWCOUNT és %ISOPEN lehetővé teszi a hasznos információk elérését egy UPDATE végrehajtásával kapcsolatban utasítás.

Példák

A 13-7. példa létrehoz egy táblázatot, amely helyes alkalmazói azonosítókat tartalmaz, de elrontott nevekkel. Ezután futtat egy UPDATE utasítást egy összefüggő lekérdezéssel, hogy lekérdezze a helyes neveket a EMPLOYEES táblából, és rögzítse a neveket az új táblában. .

Példákért lásd a következőket:

1-12. példa, “Tárolt alprogram létrehozása”
4-1. példa, “Egyszerű IF-THEN utasítás használata”
5-51. példa, “Sor frissítése rekord használatával”
5-52. példa, “A VISSZATÉRÉS záradékának használata rekorddal”
6-1. példa, “Adatmanipuláció PL / SQL használatával”
6-5. példa: “A CURRVAL és a NEXTVAL használata”
6-6. példa, “A ROWNUM használata”
6-38. példa, “A SAVEPOINT használata ROLLBACK használatával”
6-41. példa, “A CURRENT használata OF a kurzorról letöltött legfrissebb sor frissítéséhez “
7-1. Példa,” Példák a dinamikus SQL-re “
7-5. Példa,” Dinamikus SQL visszacsatoló ömlesztett adatokkal záradékkal “| 7-6. Példa , “Dinamikus SQL Inside FORALL utasítás”

11-6. Példa, “Visszalépés használata a FORALL használatával”
11-9. Példa, “Tömeges művelet, amely a kivételek ellenére is folytatódik”

Kapcsolódó témák

“Adatmanipuláció”
“DELETE utasítás”
“FETCH utasítás”
“INSERT utasítás”

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük