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
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 |
|
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ţ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.
- 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.
Exemplu
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" |
20 SQL Q5 "SELECT Position_Nr,Measure_X,Measure_Y, Measure_Z FROM Tab_Example WHERE Position_Nr<20" |
20 SQL Q5 "SELECT Position_Nr,Measure_X,Measure_Y, Measure_Z FROM Tab_Example WHERE Position_Nr==:’Q11’" |
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 |