SQL EXECUTE viene impiegato in combinazione con diverse istruzioni SQL.
Applicazione
Premesse
- Codice chiave 555343
- Tabella presente
- Nome tabella idoneo
I nomi di tabelle e relative colonne devono iniziare con una lettera e non possono includere caratteri di calcolo, ad es. +. In base ai comandi SQL, tali caratteri possono comportare problemi in fase di importazione ed esportazione di dati.
Descrizione funzionale

Il controllo numerico offre le seguenti istruzioni SQL nell'istruzione SQL EXECUTE:
Istruzione | Funzione |
---|---|
SELECT | Selezione dei dati |
CREATE SYNONYM | Creazione del sinonimo (sostituzione dell'indicazione lunga del percorso con nome corto) |
DROP SYNONYM | Cancellazione del sinonimo |
CREATE TABLE | Creazione della tabella |
COPY TABLE | Copia della tabella |
RENAME TABLE | Rinomina della tabella |
DROP TABLE | Cancellazione della tabella |
INSERT | Inserimento di righe della tabella |
ANNULLA | Aggiornamento di righe della tabella |
DELETE | Cancellazione di righe della tabella |
ALTER TABLE |
|
RENAME COLUMN | Rinomina delle colonne della tabella |
SQL EXECUTE con l'istruzione SQL SELECT
Il server SQL inserisce per righe i dati nel result-set (set di risultati). Le righe vengono numerate in ordine crescente a partire da 0. Questo numero di riga (INDEX) viene impiegato nei comandi SQL FETCH e UPDATE.
SQL EXECUTE in combinazione con l'istruzione SQL SELECT seleziona valori della tabella, li trasferisce nel result-set e apre quindi sempre una transazione. Contrariamente al comando SQL SQL SELECT la combinazione di SQL EXECUTE e istruzione SELECT può contemporaneamente selezionare diverse colonne e righe.
Nella funzione SQL ... "SELECT...WHERE..." si inseriscono i criteri di ricerca. Si delimita così all'occorrenza il numero delle righe da trasferire. Se non si utilizza tale opzione, vengono caricate tutte le righe della tabella.
Nella funzione SQL ... "SELECT...ORDER BY..." si indica il criterio di ordinamento. L'indicazione consiste nella denominazione della colonna e nella parola chiave ASC per l'ordinamento crescente o DESC per quello decrescente. Se non si utilizza tale opzione, le righe vengono memorizzate in una sequenza casuale.
Con la funzione SQL ... "SELECT...FOR UPDATE" si bloccano le righe selezionate per altre applicazioni. Le altre applicazioni possono continuare a leggere queste righe ma non modificarle. Se si apportano modifiche alle voci della tabella, è indispensabile utilizzare questa opzione.
Result-set vuoto: se non è presente alcuna riga corrispondente al criterio di ricerca, il server SQL fornisce un HANDLE valido senza voci di tabella.
Condizione | Programmazione |
---|---|
Uguale | = == |
Diverso | != <> |
Minore | < |
Minore o uguale | <= |
Maggiore | > |
Maggiore o uguale | >= |
Vuoto | IS NULL |
Non vuoto | IS NOT NULL |
Collegamento di diverse condizioni | |
AND logico | AND |
OR logico | OR |
Note
- È possibile definire sinonimi anche per tabelle non ancora create.
- La sequenza delle colonne nel file creato corrisponde alla sequenza all'interno dell'istruzione AS SELECT.
- Per le istruzioni all'interno del comando SQL è possibile impiegare anche parametri QS semplici o composti.
- Se si verifica il contenuto di un parametro QS nella visualizzazione di stato supplementare (scheda QPARA), sono visibili esclusivamente i primi 30 caratteri e quindi non il contenuto completo.
Concatenamento dei valori alfanumerici
Esempio
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'" | ; Creazione del sinonimo |
2 SQL Q10 "CREATE TABLE NEW AS SELECT X,Y,Z FROM 'TNC:\prototype_for_NewTab.tab'" | ; Creazione della tabella |
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 |