Executarea instrucțiunilor SQL cu SQL EXECUTE

Aplicaţie

SQL EXECUTE se poate utiliza împreună cu diferite instrucțiuni SQL.

Cerinţe

  • Număr cod 555343
  • Tabelul există
  • Nume de tabel adecvat
  • Numele de tabele şi coloane de tabel trebuie să înceapă cu o literă şi nu trebuie să conţină un operator aritmetic (de ex., +). Din cauza comenzilor SQL, aceste caractere pot cauza probleme la introducerea datelor sau la citirea acestora.

Descrierea funcţiilor

Săgețile negre și sintaxa asociată indică procesele interne ale SQL EXECUTE. Săgețile gri și sintaxa asociată nu aparțin direct comenzii SQL EXECUTE.

Sistemul de control oferă următoarele instrucțiuni SQL în comanda SQL EXECUTE:

Instrucţiune

Funcţie

SELECTARE

Selectaţi datele

CREARE SINONIM

Creare sinonim (înlocuire nume lungi de cale cu nume scurte)

PLASARE SINONIM

Ştergere sinonim

CREARE TABEL

Generarea unui tabel

COPIERE TABEL

Copiere tabel

REDENUMIRE TABEL

Redenumire tabel

PLASARE TABEL

Ștergeți un tabel

INSEREAZA

Inserare rânduri tabel

UPDATARE

Actualizare rânduri tabel

STERGE

Ştergere rânduri tabel

MODIFICARE TABEL

  • Adăugaţi coloane de tabel utilizând ADD
  • Ştergeţi coloane de tabel utilizând DROP

REDENUMIRE COLOANĂ

Redenumire coloane de tabel

SQL EXECUTE cu instrucţiunea SQL SELECT

Serverul SQL introduce datele în setul de rezultate, rând cu rând. Rândurile sunt numerotate în ordine crescătoare, începând de la 0. Aceste numere de rând (INDEX) utilizează comenzile SQL FETCH și UPDATE.

SQL EXECUTE, în corelație cu instrucțiunea SQL SELECT, selectează valorile din tabel, le transferă în setul de rezultate și deschide întotdeauna o tranzacție în acest timp. Spre deosebire de SQL SELECT, combinația dintre SQL EXECUTE și instrucțiunea SELECT permite selectarea mai multor rânduri și coloane simultan.

În funcţia SQL ... “SELECT...WHERE...", puteţi introduce criteriile de căutare. Astfel, restricționați numărul de rânduri transferate. Dacă nu utilizaţi această opţiune, atunci sunt încărcate toate rândurile din tabel.

În funcţia SQL ... “SELECT...ORDER BY...", puteţi introduce criteriul de ordonare. Această intrare constă în denumirea coloanei și a cuvântului cheie ASC pentru ordinea crescătoare sau DESC pentru cea descrescătoare. Dacă nu utilizaţi această opţiune, atunci rândurile vor fi memorate în ordine aleatorie.

Cu funcţia SQL ... "SELECT...FOR UPDATE", puteţi bloca rândurile selectate pentru alte aplicaţii. Alte aplicaţii vor putea citi aceste rânduri, dar nu le pot modifica. Dacă efectuaţi modificări la intrările de tabel, atunci este absolut necesar să utilizaţi această opţiune.

Set de rezultate gol: Dacă niciun rând nu corespunde criteriului de selectare, serverul SQL va returna un HANDLE valid fără înregistrări în tabel.

Condiţii pentru intrări WHERE

Condiţie

Programarea

Egal

= ==

Neegal

!= <>

Mai mic decât

<

Mai mic sau egal

<=

Mai mare decât

>

Mai mare sau egal

>=

gol

ESTE NUL

Nu este gol

NU ESTE NUL

Legarea mai multor condiţii:

AND logic

AND

OR logic

OR

Note

  • Puteți să definiți sinonime și pentru tabelele care nu au fost încă generate.
  • Succesiunea de coloane din fișierul creat corespunde secvenței din instrucțiunea AS SELECT.
  • Pentru instrucțiunile din cadrul comenzii SQL, puteți folosi parametri QS individuali sau combinați.
  • Concatenarea valorilor alfanumerice

  • Dacă verificați conținutul unui parametru QS în indicatorul de stare suplimentar (fila QPARA), veți vedea numai primele 30 de caractere, nu conținutul complet.
  • Fila QPARA

Exemplu

Exemplu: selectarea rândurilor din tabel

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"

Exemplu: Selectarea rândurilor din tabel cu funcția WHERE

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

Exemplu: Selectarea rândurilor din tabel cu funcția WHERE și parametrul Q

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

Exemplu: Definirea numelui de tabel cu informațiile despre calea absolută

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'"

; Creare sinonim

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

; Creare tabel

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