Akcia je spojením akcií DB_INSERT a
DB_UPDATE (resp. DBS_INSERT a DBS_UPDATE). Pracuje s jediným
riadkom alebo viacerými riadkami. Ak sa nepodarí vloženie riadku (z akéhokoľvek dôvodu), predpokladá sa, že vloženie zlyhalo kvôli referenčnej integrite (unikátny kľúč v databáze)
a pokúsi sa aktualizovať existujúci riadok. Aktualizujú sa stĺpce, ktoré nie sú súčasťou kľúča, kľúčový stĺpec/stĺpce sa zachovajú. Akcia úspešne skončí iba, ak sa podarilo
vloženie riadku alebo aktualizácia všetkých riadkov.
Výraz typu String, ktorý definuje Oracle SQL hint. Ten je použitý ako inštrukcia pre optimalizátor výkonu SQL príkazu.
Zapisuje hodnotu bez obaľujúcich znakov /*+ <orahint>
*/.
Príklad použitia je uvedený tu.
Návratový kód
Hodnota parametra retCodeIdent_Int - pozri tabuľku
chybových stavov. Je možné získať rozšírenú informáciu o chybe.
Od verzie D2000 7.01.010 vracia DBS_INSUPD chybu aj vtedy, keď počet
aktualizovaných riadkov, prostredníctvom akéhokoľvek riadku štruktúry, je 0.
Popis
Tabuľka musí byť otvorená s prístupom _DB_MODIFY. Vkladaný riadok alebo štruktúra musí mať korektný typ štruktúry.
Všetky položky každého vkladaného riadku musia mať platné hodnoty. Tabuľka musí mať zadefinovaný kľúč.
Výhodou akcie DBS_INSUPD pri práci s tabuľkou je možnosť vynechať jej otvorenie a zatvorenie (jednoduchší zápis).
Optimalizácia procesu D2000 DBManager (recyklovanie spojení, predpripravené spojenia) spôsobila, že akcia
DBS_INSUPD sa vykoná rovnako rýchlo ako akcia DB_INSUPD a navyše sa ušetrí čas potrebný na
spracovanie explicitného príkazu na otvorenie databázy DB_CONNECT.