SQL EXECUTE används i kombination med olika SQL-instruktioner.
Användningsområde
Förutsättningar
- Kodnummer 555343
- Tabell finns
- Lämpligt tabellnamn
Namnet på tabeller i tabellkolumner måste inledas med en bokstav och får inte innehålla några aritmetiska tecken, t.ex. +. Dessa tecken kan på grund av SQL-kommandon leda till problem vid inläsning eller utläsning av data.
Funktionsbeskrivning

Styrsystemet erbjuder följande SQL-satser i kommandot SQL EXECUTE:
Instruktioner | Funktion |
---|---|
SELECT | Selektera data |
CREATE SYNONYM | Skapa synonym (långa sökvägar ersätts av ett kort namn) |
DROP SYNONYM | Radera synonym |
CREATE TABLE | Skapa tabell |
COPY TABLE | Kopiera tabell |
RENAME TABLE | Döp om tabell |
DROP TABLE | Radera tabell |
INSERT | Infoga tabellrader |
UPDATE | Uppdatera tabellrader |
DELETE | Radera tabellrader |
ALTER TABLE |
|
RENAME COLUMN | Döp om tabellkolumner |
SQL EXECUTE med SQL-instruktion SELECT
SQL-servern lägger in data radvis i Result-set (resultatmängd). Raderna börjar med 0 och har en stigande numrering. Detta radnummer (INDEX) använder SQL-kommandona FETCH och UPDATE.
SQL EXECUTE i kombination med SQL-instruktionen SELECT selekterar tabellvärden, överför dem till Result-set och öppnar då alltid en transaktion. I motsats till SQL-kommandot SQL SELECT möjliggör kombinationen av SQL EXECUTE och instruktionen SELECT ett samtidigt val av flera kolumner och rader.
I funktionen SQL ... ”SELECT...WHERE...” anger du sökkriterierna. På detta sätt kan du begränsa antalet rader som skall överföras. Om du inte använder denna option kommer alla rader i tabellen att laddas.
I funktionen SQL ... ”SELECT...ORDER BY...” anger du sökkriteriet. Kolumnens namn samt kodordet ASC för stigande eller DESC fallande sortering. Om du inte använder denna option kommer raderna att läggas in i en slumpmässig ordningsföljd.
Med funktionen SQL ... ”SELECT...FOR UPDATE” spärrar man de selekterade raderna för andra applikationer. Andra applikationer kan även i fortsättningen läsa dessa rader, dock inte ändra dem. Du skall ovillkorligen använda denna option när du genomför ändringar av tabelluppgifter.
Tomt Result-set: Om ingen rad motsvarar sökkriteriet returnerar SQL-servern en giltig HANDLE utan tabellinmatningar.
Villkor | programmering |
---|---|
lika | = == |
olika | != <> |
mindre | < |
mindre eller lika | <= |
större | > |
större eller lika | >= |
tom | IS NULL |
ej tom | IS NOT NULL |
Sammankoppla flera villkor: | |
Logiskt OCH | AND |
Logiskt ELLER | OR |
Anmärkning
- Det går även att definiera synonymer för tabeller som inte har skapats än.
- Kolumnernas ordningsföljd i den skapade filen motsvarar ordningsföljden i AS SELECT-instruktionen.
- Även instruktionerna som används i ett SQL-kommando kan innehålla enkla eller sammansatta QS-parametrar.
- När man kontrollerar en QS-parameters innehåll i den extra statuspresentationen (fliken QPARA) ser man inte hela innehållet utan endast de 30 första tecknen.
Sammanfoga alfanumeriska värden
Exempel
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'" | ; Skapa synonym |
2 SQL Q10 "CREATE TABLE NEW AS SELECT X,Y,Z FROM 'TNC:\prototype_for_NewTab.tab'" | ; Skapa tabell |
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 |