Du bruker SQL EXECUTE i forbindelse med ulike SQL-setninger.
Bruk
Forutsetninger
- Nøkkeltall 555343
- Tabell tilgjengelig
- Egnet tabellnavn
Navnene på tabeller og tabellkolonner, må begynne med en bokstav og må ikke inneholde noen regnetegn, f.eks. +. Disse tegnene kan føre til problemer på grunn av SQL-kommandoer ved innlesing eller utlesing av data.
Funksjonsbeskrivelse

Styringen gir følgende SQL-setninger i kommandoen SQL EXECUTE:
Setning | Funksjon |
---|---|
SELECT | Velg data |
CREATE SYNONYM | Opprett synonym (erstatte lange baneangivelser med korte navn) |
DROP SYNONYM | Slett synonym |
CREATE TABLE | Generer tabell |
COPY TABLE | Kopier tabell |
RENAME TABLE | Gi nytt navn til tabell |
DROP TABLE | Slett tabell |
INSERT | Sett inn tabellinjer |
UPDATE | Oppdater tabellinjer |
DELETE | Slett tabellinjer |
ALTER TABLE |
|
RENAME COLUMN | Gi nytt navn til tabellkolonner |
SQL EXECUTE med SQL-setningen SELECT
SQL-serveren lagrer dataene linjevis i resultatsettet (resultatmengden). Linjene nummereres fortløpende fra 0 og oppover. Disse linjenumrene (til INDEX) brukes ved SQL-kommandoene FETCH og UPDATE.
Når SQL EXECUTE brukes i forbindelse med SQL-setningen SELECT, blir det valgt tabellverdier som blir overført til resultatsettet. I motsetning til SQL-kommandoen SQL SELECT muliggjør kombinasjonen av SQL EXECUTE og setningen SELECT at flere kolonner og linjer kan velges samtidig.
I funksjonen SQL ... "SELECT...WHERE..." angir du søkekriteriene. Dermed kan du begrense antall linjer som skal overføres etter behov. Hvis du ikke bruker dette alternativet, lastes alle linjer i tabellen.
I funksjonen SQL ... "SELECT...ORDER BY..." angir du sorteringskriteriet. Angivelsen består av kolonnebetegnelsen og nøkkelordet (ASC) for stigende eller (DESC) synkende sortering. Hvis du ikke bruker dette alternativet, lagres linjene i tilfeldig rekkefølge.
Med funksjonen SQL ... "SELECT...FOR UPDATE" sperrer du de valgte linjene for andre applikasjoner. Andre applikasjoner kan fortsatt lese disse linjene, men ikke endre dem. Når du skal foreta endringer i tabellpostene, må du bruke dette alternativet.
Tomt resultatsett: Hvis det ikke finnes noen linjer som oppfyller søkekriteriet, returnerer SQL-serveren en gyldig HANDLE, men uten tabellposter.
Betingelse | programmering |
---|---|
lik | = == |
ulik | != <> |
mindre enn | < |
mindre enn eller lik | <= |
større enn | > |
større enn eller lik | >= |
Tom | IS NULL |
ikke tom | IS NOT NULL |
Tilknytte flere betingelser: | |
Logisk OG | AND |
Logisk ELLER | OR |
Tips:
- Du kan også definere synonymer for tabeller som ikke er opprettet ennå.
- Rekkefølgen på kolonnene i den genererte filen tilsvarer rekkefølgen i AS SELECT-setningen.
- Du kan bruke enkle eller sammensatte QS-parametere for setningene i SQL-kommandoen.
- Hvis du kontrollerer innholdet til en QS-parameter i en egen statusvisning (fane QPARA), ser du bare de første 30 tegnene og dermed ikke hele innholdet.
Føye sammen alfanumeriske verdier
Eksempel
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'" | ; Opprette synonym |
2 SQL Q10 "CREATE TABLE NEW AS SELECT X,Y,Z FROM 'TNC:\prototype_for_NewTab.tab'" | ; Opprette 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 |