Sdílet prostřednictvím


Embedded SQL

První technikou pro odesílání příkazů SQL do DBMS je vložené SQL. Protože SQL nepoužívá proměnné a příkazy toku řízení, často se používá jako podjazyční databáze, které lze přidat do programu napsaného v konvenčním programovacím jazyce, jako je C nebo COBOL. Toto je ústřední myšlenka vloženého SQL: umísťování příkazů SQL do programu napsaného v hostitelském programovacím jazyce. Stručně řečeno, následující techniky se používají k vložení příkazů SQL do hostitelského jazyka:

  • Vložené příkazy SQL jsou zpracovány speciálním předkompilerem SQL. Všechny příkazy SQL začínají zaváděcím znakem a končí ukončovacím znakem, které oba označují příkaz SQL pro prekompiler. Zavádějící a ukončovací funkce se liší podle hostitelského jazyka. Například úvodní výraz je "EXEC SQL" v jazyce C a "&SQL(" v MUMPS a ukončovacím znakem je středník (;) v C a pravá závorka v MUMPS.

  • Proměnné z aplikačního programu, označované jako hostitelské proměnné, se dají použít ve vložených příkazech SQL všude, kde jsou povoleny konstanty. Ty se dají použít na vstupu k přizpůsobení příkazu SQL pro konkrétní situaci a výstupu pro příjem výsledků dotazu.

  • Dotazy, které vracejí jeden řádek dat, se zpracovávají pomocí příkazu SINGLETON SELECT; tento příkaz určuje jak dotaz, tak proměnné hostitele, ve kterých se mají vracet data.

  • Zpracovávání dotazů, které vracejí více řádků dat, se provádí pomocí kurzorů. Kurzor sleduje aktuální řádek v sadě výsledků. Příkaz DECLARE CURSOR definuje dotaz, příkaz OPEN zahájí zpracování dotazu, příkaz FETCH načte po sobě jdoucí řádky dat a příkaz CLOSE ukončí zpracování dotazu.

  • Když je kurzor otevřený, lze použít umístěné příkazy aktualizace a delete k aktualizaci nebo odstranění řádku aktuálně vybraného kurzorem.

Tato část obsahuje následující témata.