Wykonanie instrukcji SQL za pomocą SQL EXECUTE

Zastosowanie

SQL EXECUTE jest wykorzystywane w połączeniu z różnymi instrukcjami SQL.

Warunki

  • Kod liczbowy 555343
  • Tabela dostępna
  • Odpowiednia nazwa tabeli
  • Nazwy tabel i kolumn tabel muszą rozpoczynać się z litery i nie mogą zawierać znaków matematycznych, np. +. Te znaki mogą ze względu na instrukcje SQL prowadzić przy wczytywaniu lub wyczytywaniu do problemów.

Opis funkcji

Czarne strzałki i przynależna syntaktyka pokazują wewnętrzne procesy SQL EXECUTE. Szare strzałki i przynależna syntaktyka pokazują wewnętrzne procesy SQL EXECUTE.

Sterowanie udostępnia następujące instrukcje SQL w poleceniu SQL EXECUTE:

Instrukcje

Funkcja

SELECT

Selekcjonowanie danych

CREATE SYNONYM

Utworzenie synonimu (długie dane ścieżki zamienić krótkimi nazwami)

DROP SYNONYM

Usunąć synonim

CREATE TABLE

Utworzenie tabeli

COPY TABLE

Kopiowanie tabeli

RENAME TABLE

Zmiana nazwy tabeli

DROP TABLE

Usunięcie tabeli

INSERT

Wstawienie wiersza tabeli

UPDATE

Aktualizowanie wiersza tabeli

DELETE

Usunięcie wiersza tabeli

ALTER TABLE

  • Z ADD wstawić kolumny tabeli
  • Z DROP usunąć kolumny tabeli

RENAME COLUMN

Zmiana nazwy kolumn tabeli

SQL EXECUTE z instrukcję SQL SELECT

Serwer SQL zachowuje dane wierszami w Result-set (zbiór wyników). Wiersze zostają numerowane począwszy od 0 w rosnącej kolejności. Ten numer wiersza ( INDEX) jest stosowany w poleceniach SQL FETCH i UPDATE.

SQL EXECUTE w połączeniu z instrukcją SQL SELECT selekcjonuje wartości tabeli i transferuje je do Result-set a także otwiera przy tym zawsze transakcję. W przeciwieństwie do instrukcji SQL SQL SELECT kombinacja z SQL EXECUTE i instrukcji SELECT może jednocześnie wybrać kilka kolumn i wierszy.

W funkcji SQL ... "SELECT...WHERE..." podajesz kryteria wyszukiwania. Tym samym można ograniczyć liczbę transferowanych wierszy w razie konieczności. Jeśli nie używamy tej opcji, to zostają wczytane wszystkie wiersze tabeli.

W funkcji SQL ... "SELECT...ORDER BY..." podajemy kryterium selekcji. Podawane dane składają się z oznaczenia kolumny i słowa kluczowego (ASC) dla rosnącego lub (DESC) malejącego sortowania. Jeśli nie używa się tej opcji, to wiersze zostają odkładane do pamięci w przypadkowej kolejności.

Przy pomocy funkcji SQL ... "SELECT...FOR UPDATE" blokujemy wyselekcjonowane wiersze dla innych aplikacji. Inne aplikacje mogą te wiersze w dalszym ciągu czytać, jednakże nie mogą ich zmieniać. Jeśli dokonuje się zmian we wpisach w tabeli, to należy konieczne używać tej opcji.

Pusty Result-set: jeśli brak wierszy, odpowiadających kryterium selekcji, to serwer SQL podaje zwrotnie obowiązujący HANDLE ale nie oddaje zwrotnie wpisów w tabeli.

Warunki podawania WHERE

Warunek

programowaniu

równy

= ==

nierówny

!= <>

mniejszy

<

mniejszy lub równy

<=

większy

>

większy lub równy

>=

puste

IS NULL

nie pusty

IS NOT NULL

Łączenie kilku warunków:

logiczne I

AND

logiczne LUB

OR

Wskazówki

  • Po wyborze funkcji NC SQL EXECUTE sterownik wstawia wyłącznie element składni SQL do programu NC.
  • Dla nie wygenerowanych jeszcze tabel mogą być definiowane synonimy.
  • Kolejność kolumn w utworzonym pliku odpowiada kolejności w instrukcji AS SELECT.
  • Dla instrukcji w poleceniu SQL można stosować również proste lub kombinowane parametry QS.
  • Połączenie w łańcuch wartości alfanumerycznych

  • Po elemencie składni WHERE możesz zdefiniować wartość porównawczą także jako zmienną. Jeżeli używasz parametrów Q, QL bądź QR dla porównania, to sterowanie zaokrągla zdefiniowaną wartość na liczbę całkowitą. Gdy używasz parametru QS, to sterownik stosuje tę zdefiniowaną wartość.
  • Jeśli sprawdzana jest treść parametru QS w dodatkowym wskazaniu stanu (zakładka QPARA), to widocznych jest wyłącznie pierwszych 30 znaków i tym samym nie pełna treść.
  • Zakładka QPARA

Przykład

Przykład: selekcjonowanie wierszy tabeli

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"

Przykład: selekcja wierszy tabeli za pomocą funkcji WHERE

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

Przykład: selekcja wierszy tabeli za pomocą funkcji WHERE i parametru Q

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

Przykład: definiowanie nazwy tabeli podaniem absolutnej ścieżki

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

; Utworzenie synonimu

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

, Utworzenie tabeli

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