SQL EXECUTE jest wykorzystywane w połączeniu z różnymi instrukcjami SQL.
Zastosowanie
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..." podajemy kryteria szukania. 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 sortowania. 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" blokuje się 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 | Programowanie |
---|---|
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
- 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.
- 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ść.
Połączenie w łańcuch wartości alfanumerycznych
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 |