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
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 |
|
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.
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 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ść.
Przykład
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'" | ; 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 |