SQL-instruktion udført med SQL EXECUTE

Anvendelse

SQL EXECUTE bliver anvendt i forbindelse med forskellige SQL-informationer.

Forudsætninger

  • Nøgletal 555343
  • Tabel tilgængelig
  • Egnet tabelnavne
  • Navnet på Tabeller og Tabelkolonner skal starte med et bofstav og må ikke indeholde et regnetegn som f.eks. + . Disse tegn kan på grund af SQL-kommandoer ved ind- eller udlæsning af data fører til problemer.

Funktionsbeskrivelse

SQL EXECUTE_01
Sort pil og tilhørende Syntax viser internt afvikling af SQL EXECUTE. Grå pil og tilhørende Syntax tilhører umiddelbar ikke til kommando SQL EXECUTE.

Controlleren tilbyder følgende SQL-instruktion i kommandoen SQL EXECUTE:

Anvisninger

Funktion

SELECT

Vælg data

CREATE SYNONYM

Generer synonym (erstatter lange stiangivelse med kort navn)

DROP SYNONYM

Slet synonym

CREATE TABLE

Generer tabel

COPY TABLE

Kopiering af tabeller

RENAME TABLE

Omdøb tabel

DROP TABLE

Slet tabel

INSERT

Indføj Tabellinje

UPDATE

Aktualiser Tabellinje

DELETE

Slet tabellinje

ALTER TABLE

  • Indføj med ADD Tabelkolonne
  • Slet med DROP Tabelkolonne

RENAME KOLONNE

Omdøb tabelkolonne

SQL EXECUTE med SQL-information SELECT

SQL-Server lægger data delvis i Result-set (resultatsæt). Linierne bliver begyndt med 0 og fortløbende nummereret. Dette linjenummer (INDEX) anvender SQL-kommando FETCH og UPDATE.

SQL EXECUTE i forbindelse med SQL-information SELECT valgte Tabelværdi og overført i Result-set og åbner derved altid en transaktion. Modsat til SQL-kommando SQL SELECT muliggør kombinationen af SQL EXECUTE og instruktionen SELECT samtidig vælge flere kolonner og linjer.

I Funktionén SQL ... "SELECT...WHERE..." indgiver de søgekriterierne. Hermed kan De begrænse antallet af linjer der skal overføres. Anvender De ikke denne option, bliver alle linier i tabellen fyldt.

I Funktionén SQL ... "SELECT...ORDER BY..." indgiver De søgekriterierne. Specifikationen består af kolonnenavnet og nøgleord ASC for sorterer stigende eller DESC faldende. Anvender De ikke denne option, bliver linjerne gemt i en tilfældig rækkefølge.

Med Funktionen SQL ... "SELECT...FOR UPDATE" spærre De valgte linjer for andre brugere. Andre brugere kan senere læse disse linier, men ikke ændre. Når de vil lave ændringer i tabelposter, anvender De ubetinget denne option.

Tom Result-set: Hvis ingen linjer matcher søgekriteriet, leverer SQL-Server en gyldig HANDLE uden Tabelindlæsning tilbage.

Betingelse WHERE-angivelse

Betingelse

Programmering

lig

= ==

med

!= <>

mindre

<

mindre eller lig

<=

større

>

større eller lig

>=

tom

ER NUL

Ikke tom

ER IKKE NUL

Forbinde flere betingelser:

Logisk OG

AND

Logisk ELLER

OR

Anvisninger

  • De kan også definerer synonym for endnu ikke genererede Tabeller.
  • Rækkefølgen af kolonner i genererede fil tilsvarer rækkefølge i AS SELECT-instruktioner.
  • De kan for instruktion indenfor SQL-kommando anvende enkel eller sammensatte QS-Parameter.
  • Sammenkæd Alpha-numerisk værdi

  • Når De kontrollerer indhold o QC-Parameter i yderlig statusvisning (kolonne QPARA), ser De udelukkende de første 30 linjer og dermed det fuldstændige indhold.
  • Fane QPARA

Eksempel

Eksempel: Vælg Tabel-linjer

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"

Eksempel: Vælg Tabel-linjer med funktionen WHERE

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

Eksempel: Vælg Tabel-linjer med funktionen WHERE og Q-Parameter

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

Eksempel: Definer Tabelnavn med absolut stiangivelse

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

; Generer Synonym

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

; Opret Tabel

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