SQL EXECUTE gebruikt u in combinatie met verschillende SQL-instructies.
Toepassing
Voorwaarden
- Sleutelgetal 555343
- Tabel aanwezig
- Geschikte tabelnaam
De namen van tabellen en tabelkolommen moeten met een letter beginnen en mogen geen rekenkundig teken, bijv. + bevatten. Deze tekens kunnen op basis van SQL-commando's bij het inlezen of uitlezen van gegevens tot problemen leiden.
Functiebeschrijving

De besturing biedt de volgende SQL-opdrachten in het commando SQL EXECUTE:
Instructie | Functie |
---|---|
SELECT | Gegevens selecteren |
CREATE SYNONYM | Synoniem maken (lange padnamen door korte naam vervangen) |
DROP SYNONYM | Synoniem wissen |
CREATE TABLE | Tabel maken |
COPY TABLE | Tabel kopiëren |
RENAME TABLE | Tabel hernoemen |
DROP TABLE | Tabel wissen |
INSERT | Tabelregels invoegen |
UPDATE | Tabelregels actualiseren |
DELETE | Tabelregels wissen |
ALTER TABLE |
|
RENAME COLUMN | Tabelkolommen hernoemen |
SQL EXECUTE met de SQL-instructie SELECT
De SQL-server slaat de gegevens regel voor regel op in de result-set (resultaatset). De regels worden vanaf 0 doorlopend genummerd. Dit regelnummer (van de INDEX) gebruiken de SQL-commando's FETCH en UPDATE.
SQL EXECUTE in combinatie met de SQL-instructie SELECT selecteert tabelwaarden en zet deze om naar de result-set en opent daarbij altijd een transactie. In tegenstelling tot het SQL-commando SQL SELECT kunt u met de combinatie van SQL EXECUTE en de instructie SELECT gelijktijdig meerdere kolommen en regels selecteren.
Bij de functie SQL ... „SELECT...WHERE...” geeft u de zoekcriteria op. Daarmee kan het aantal over te zetten regels worden beperkt indien noodzakelijk. Wanneer u deze optie niet gebruikt, worden alle regels van de tabel geladen.
Bij de functie SQL ... "SELECT...ORDER BY..." geeft u het sorteercriterium op De opgave bestaat uit de kolomaanduiding en het sleutelwoord ASC voor oplopend of DESC aflopend sorteren. Wanneer u deze optie niet gebruikt, worden de regels in een willekeurige volgorde opgeslagen.
Met de functie SQL ... "SELECT...FOR UPDATE" blokkeert u de geselecteerde regels voor andere toepassingen. In andere applicaties kunnen deze regels nog steeds worden gelezen, maar niet worden gewijzigd. Wanneer u wijzigingen in de tabelgegevens wilt doorvoeren, gebruikt u absoluut deze optie.
Lege result-set: als er geen regels zijn die aan het zoekcriterium voldoen, levert de SQL-server een geldige HANDLE zonder tabelgegevens.
Voorwaarde | Programmering |
---|---|
gelijk aan | = == |
ongelijk aan | != <> |
kleiner dan | < |
kleiner dan of gelijk aan | <= |
groter dan | > |
groter dan of gelijk aan | >= |
leeg | IS NULL |
niet leeg | IS NOT NULL |
Meerdere voorwaarden koppelen: | |
Logische EN | AND |
Logische OF | OR |
Instructies
- U kunt ook synoniemen definiëren voor nog niet-gegenereerde tabellen.
- De volgorde van de kolommen in het gegenereerde bestand komt overeen met de volgorde binnen de AS SELECT -instructie.
- U kunt voor de opdrachten binnen het SQL-commando ook eenvoudige of samengestelde QS-parameters gebruiken.
- Wanneer u de inhoud van een QS-parameter in de extra statusweergave (tab QPARA controleert, ziet u uitsluitend de eerste 30 tekens en dus niet de volledige inhoud.
Alfanumerieke waarden koppelen
Voorbeeld
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'" | ; Synoniem maken |
2 SQL Q10 "CREATE TABLE NEW AS SELECT X,Y,Z FROM 'TNC:\prototype_for_NewTab.tab'" | ; Tabel maken |
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 |