SQL-osoitukaen toteutus koodilla SQL EXECUTE

Sovellus

SQL EXECUTE on käytettävissä vain erilaisten SQL-osoitusten yhteydessä.

Alkuehdot

  • Avainluku 555343
  • Taulukko olemassa
  • Sopiva taulukkonimi
  • Taulukoiden ja taulukkosarakkeiden nimien tulee alkaa kirjaimella eivätkä ne saa sisältää laskumerkkejä, esim. +. SQL-käskyjen vuoksi nämä merkit voivat aiheuttaa ongelmia tietojen lukemisen tai tulostamisen yhteydessä.

Toiminnon kuvaus

SQL EXECUTE_01
Mustat nuolet ja niihin liittyvä syntaksi ilmaisevat SQL SELECT -käskyn sisäistä toimintaa.. Harmaat nuolet ja niihin liittyvä syntaksi eivät kuulu suoraan sisäiseen SQL SELECT -käskyyn..

Ohjaus tarjoaa seuraavat SQL-osoitukset käskyssä SQL EXECUTE:

Osoitus

Toiminto

SELECT

Tietojen valinta

CREATE SYNONYM

Synonyymin luonti (pitkän polkumäärittelyn korvaus lyhyellä nimellä)

DROP SYNONYM

Synonyymin poisto

CREATE TABLE

Taulukon luonti

COPY TABLE

Taulukon kopiointi

RENAME TABLE

Taulukon nimeäminen uudelleen

DROP TABLE

Taulukon poisto

INSERT

Taulukkorivin lisäys

UPDATE

Taulukkorivin päivitys

DELETE

Taulukkorivin poisto

ALTER TABLE

  • Käskyllä ADD taulukkorivin lisäys
  • Käskyllä DROP taulukkorivin poisto

RENAME COLUMN

Taulukkorivin nimeäminen uudelleen

SQL EXECUTE yhdessä SQL-osoituksen SELECT kanssa.

SQL-palvelin sijoittaa tiedot riveittäin Result-setiin (tulossettiin). Rivit numeroidaan juoksevassa numerojärjestyksessä alkaen arvosta 0. Tämä rivinumeroa (INDEX) käyttää SQL-käskyjä FETCH ja UPDATE.

SQL EXECUTE käytettynä SQL-osoituksen SELECT yhteydessä valitsee taulukkoarvot, siirtää ne Result-setiin ja avaa samassa yhteydessä transaktion. Vastoin kuin SQL-käsky SQL SELECT, SQL EXECUTE -määrittelyn ja SELECT-osoituksen yhdistelmä mahdollistaa useampien sarakkeiden ja rivien samanaikaisen valinnan.

Toiminnossa SQL ... "SELECT...WHERE..." annetaan aina hakukriteeri. Näin voidaan tarvittaessa rajoittaa siirrettävien rivien lukumäärää. Jos et käytä tätä optiota, taulukon kaikki rivit ladataan.

Toiminnossa SQL ... "SELECT...ORDER BY...” annetaan lajittelukriteeri. Määrittely käsittää sarakkeen nimen ja avainsanan ASC nousevaa tai DESC laskevaa lajittelujärjestystä varten. Jos et käytä tätä optiota, rivit sijoitetaan sattumanvaraisessa järjestyksessä.

Toiminnolla SQL ... "SELECT...FOR UPDATE" lukitaan valitut rivit muita sovellusohjelmia ajatellen. Tällöin nämä rivit voidaan toki lukea muissa sovellusohjelmissa, mutta ei muuttaa. Jos toteutat muutokset taulukon syötteisiin, käytä ehdottomasti tätä optiota.

Tyhjä Result-set: Jos mitään valintakriteerejä vastaavia rivejä ei ole, SQL-palvelin palauttaa voimassa olevan HANDLE-määreen ilman taulukkomäärityksiä.

WHERE-määrittelybn ehdot

Ehto

ohjelmointi

yhtäsuuri

= ==

erisuuri

!= <>

pienempi

<

pienempi tai yhtäsuuri

<=

suurempi

>

suurempi tai yhtäsuuri

>=

tyhjä

IS NULL

ei tyhjä

IS NOT NULL

Useimpien ehtojen ketjutus:

Looginen JA

AND

Looginen TAI

OR

Ohjeet

  • Voit määritellä synonyymejä myös vielä luomattomille taulukoille.
  • Luodussa tiedostossa olevien sarakkeiden järjestys vastaa AS SELECT -osoituksen järjestystä.
  • Voit käyttää SQL-käskyn sisäisille osoituksille myös yksinkertaisia tai koottuja QS-parametreja.
  • Aakkosnumeeristen arvojen ketjuttaminen

  • Kun tarkastat QS-parametrin sisällön lisätilanäytössä (välilehti QPARA), näet vain 30 ensimmäistä merkkiä etkä koko sisältöä.
  • Välilehti QPARA

Esimerkki

Esimerkki: Taulukkorivien valinta

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"

Esimerkki: Taulukkorivien valinta WHERE-toiminnolla

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

Esimerkki: Taulukkorivien valinta WHERE-toiminnolla ja Q-parametrilla

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

Esimerkki: Taulukkonimen määrittely absoluuttisella polkumäärittelyllä

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'"

; Synonyymin luonti

2 SQL Q10 "CREATE TABLE NEW AS SELECT X,Y,Z FROM 'TNC:\prototype_for_NewTab.tab'"

; Taulukon luonti

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