Vykonať príkazy SQL pomocou SQL EXECUTE

Aplikácia

SQL EXECUTE používajte v spojení s rôznymi príkazmi SQL.

Predpoklady

  • Kódové číslo 555343
  • Tabuľka dostupná
  • Vhodný názov tabuľky
  • Názvy tabuliek a stĺpcov tabuliek musia začínať písmenom a nesmú obsahovať žiadne výpočtové znaky, napr. +. Tieto znaky môžu na základe príkazov SQL spôsobovať problémy pri načítaní alebo preberaní údajov.

Opis funkcie

SQL EXECUTE_01
Čierne šípky a príslušná syntax zobrazujú interné procesy príkazu SQL SELECT. Sivé šípky a príslušná syntax nepatria bezprostredne do príkazu SQL EXECUTE.

Ovládanie ponúka nasledujúce príkazy SQL v príkaze SQL EXECUTE:

Inštrukcia

Funkcia

SELECT

Vybrať dáta

CREATE SYNONYM

Vytvoriť synonymum (nahradenie dlhých ciest krátkym názvom)

DROP SYNONYM

Vymazať synonymum

CREATE TABLE

Vytvoriť tabuľku

COPY TABLE

Kopírovať tabuľku

RENAME TABLE

Premenovať tabuľku

DROP TABLE

Vymazať tabuľku

INSERT

Vložiť riadky tabuľky

UPDATE

Aktualizácia riadkov tabuľky

DELETE

Vymazať riadok tabuľky

ALTER TABLE

  • Pomocou ADD vložíte stĺpec tabuľky
  • Pomocou DROP vymažete stĺpec tabuľky

RENAME COLUMN

Premenovať stĺpce tabuliek

SQL EXECUTE s príkazom SQL SELECT

Server SQL uloží dáta po riadkoch do Result-set (výsledné množstvo). Riadky budú číslované priebežne začínajúc od 0. Toto číslo riadka (INDEX) používajú príkazy SQL FETCH a UPDATE.

SQL EXECUTE v spojení s príkazom SQL SELECT vyberie hodnoty z tabuľky, prenesie ich do Result-set a pri tom vždy otvorí transakciu. Na rozdiel od príkazu SQL SQL SELECT umožňuje kombinácia príkazu SQL EXECUTE a príkazu SELECT súčasný výber viacerých stĺpcov a riadkov.

Vo funkcii SQL… "SELECT…WHERE…" zadajte kritériá vyhľadávania. Takto obmedzíte v prípade potreby počet prenášaných riadkov. Keď nepoužijete túto možnosť, nahrajú sa všetky riadky tabuľky.

Vo funkcii SQL… "SELECT…ORDER BY…" zadajte kritérium usporiadania. Informácia sa skladá z označenia stĺpca a kľúčového slova (ASC) na vzostupné alebo (DESC) zostupné usporiadanie. Keď nepoužijete túto funkciu, riadky sa uložia v náhodnom poradí.

Pomocou funkcie SQL… "SELECT...FOR UPDATE" zablokujte vybrané riadky pre iné aplikácie. Iné aplikácie budú môcť tieto riadky aj naďalej čítať, ale nie ich meniť. Túto možnosť používajte bezpodmienečne pri zmenách záznamov v tabuľkách.

Prázdny Result-set: Ak nie sú dostupné žiadne riadky, ktoré zodpovedajú kritériu vyhľadávania, poskytne server SQL platný identifikátor HANDLE, ale nie záznamy tabuľky.

Podmienky zadania WHERE

Podmienka

Programovanie

rovná sa

= ==

nerovná sa

!= <>

menší

<

menší alebo rovný

<=

väčší

>

väčší alebo rovný

>=

prázdny

IS NULL

nie je prázdny

IS NOT NULL

Zlúčenie viacerých podmienok:

Logický výraz A

AND

Logický výraz ALEBO

OR

Upozornenia

  • Synonymá môžete definovať aj pre ešte nevytvorené tabuľky.
  • Poradie stĺpcov vo vytvorenom súbore zodpovedá poradiu v príkaze AS SELECT.
  • Pre príkazy v rámci príkazu SQL môžete použiť aj jednoduché alebo zložené parametre QS.
  • Združenie alfanumerických hodnôt

  • Keď skontrolujete obsah parametra QS v prídavnom zobrazení stavu (karta QPARA), budete vidieť výlučne prvých 30 riadkov, a teda nie celý obsah.
  • Karta QPARA

Príklad

Príklad: Výber riadkov tabuľky

11 SQL BIND Q881 "Tab_Example.Position_Nr"

12 SQL BIND Q882 "Tab_Example.Measure_X"

13 SQL BIND Q883 "Tab_Example.Measure_Y"

14 SQL BIND Q884 "Tab_Example.Measure_Z"

. . .

20 SQL Q5 "SELECT Position_Nr,Measure_X,Measure_Y, Measure_Z FROM Tab_Example"

Príklad: Výber riadkov tabuľky pomocou funkcie WHERE

20 SQL Q5 "SELECT Position_Nr,Measure_X,Measure_Y, Measure_Z FROM Tab_Example WHERE Position_Nr<20"

Príklad: Výber riadkov tabuľky pomocou funkcie WHERE a parametra Q

20 SQL Q5 "SELECT Position_Nr,Measure_X,Measure_Y, Measure_Z FROM Tab_Example WHERE Position_Nr==:’Q11’"

Príklad: Definovanie názvu tabuľky pomocou absolútneho zadania cesty

20 SQL Q5 "SELECT Position_Nr,Measure_X,Measure_Y, Measure_Z FROM ’V:­\table­\Tab_Example’ WHERE Position_Nr<20"

0 BEGIN PGM SQL_CREATE_TAB MM

1 SQL Q10 "CREATE SYNONYM NEW FOR 'TNC:\table\NewTab.TAB'"

; Vytvoriť synonymum

2 SQL Q10 "CREATE TABLE NEW AS SELECT X,Y,Z FROM 'TNC:\prototype_for_NewTab.tab'"

; Vytvoriť tabuľku

3 END PGM SQL_CREATE_TAB MM

0 BEGIN PGM SQL_CREATE_TABLE_QS MM

1 DECLARE STRING QS1 = "CREATE TABLE "

2 DECLARE STRING QS2 = "'TNC:\nc_prog\demo\Doku\NewTab.t' "

3 DECLARE STRING QS3 = "AS SELECT "

4 DECLARE STRING QS4 = "DL,R,DR,L "

5 DECLARE STRING QS5 = "FROM "

6 DECLARE STRING QS6 = "'TNC:\table\tool.t'"

7 QS7 = QS1 || QS2 || QS3 || QS4 || QS5 || QS6

8 SQL Q1800 QS7

9 END PGM SQL_CREATE_TABLE_QS MM