SQL-opdrachten uitvoeren met SQL EXECUTE

Toepassing

SQL EXECUTE gebruikt u in combinatie met verschillende SQL-instructies.

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

SQL EXECUTE_01
Zwarte pijlen en bijbehorende syntax tonen interne SQL EXECUTE-processen. Grijze pijlen en bijbehorende syntax horen niet rechtstreeks bij het commando SQL EXECUTE.

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

  • Met ADD tabelkolommen invoegen
  • Met DROP tabelkolommen wissen

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.

Voorwaarden van de WHERE-opgave

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.
  • Alfanumerieke waarden koppelen

  • 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.
  • Tabblad QPARA

Voorbeeld

Voorbeeld: alle tabelregels selecteren

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"

Voorbeeld: alle tabelregels met functie WHERE selecteren

20 SQL Q5 "SELECT Position_Nr,Measure_X,Measure_Y, Measure_Z FROM Tab_Example WHERE Position_Nr<20"

Voorbeeld: tabelregels met functie WHERE en Q-parameters selecteren

20 SQL Q5 "SELECT Position_Nr,Measure_X,Measure_Y, Measure_Z FROM Tab_Example WHERE Position_Nr==:’Q11’"

Voorbeeld: tabelnaam door absolute padaanduiding definiëren

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