Táblázatérték kiolvasása SQL SELECT
Alkalmazás
SQL SELECT egyes értékeket olvas ki a táblázatból, majd az eredményt elmenti a meghatározott Q paraméterben
Előfeltételek
- Kulcsszám 555343
- Táblázat létezik
- Megfelelő táblázatnév
A táblázatneveknek és a táblázatok oszlopneveinek betűvel kell kezdődniük, és nem tartalmazhatnak számolási jeleket, pl. +. Ezen jelek az SQL parancsok kapcsán az adatok beolvasása és importálása során problémákhoz vezethetnek.
Funkcióleírás
Az SQL SELECT esetén nincs tranzakció, illetve a táblázatoszlop és a Q paraméter között nincs hozzárendelés. A megadott oszlopra vonatkozó esetleg létező kapcsolatokat a vezérlő nem veszi figyelembe. A kiolvasott értéket a vezérlő kizárólag az eredménynek megadott paraméterbe másolja.
Bevitel
11 SQL SELECT Q5 "SELECT Mess_X FROM Tab_Example WHERE Position_NR==3" | ; A "Tab_Example" táblázat "Position_Nr” oszlopának értékét a Q5-ben mentse el |
Az NC funkció a következő szintaktikai elemeket tartalmazza:
Szintaktikai elem | Jelentés |
---|---|
SQL BIND | Szintaxisnyitó a SELECT SQL parancshoz |
Q/QL/QR, QS vagy Q REF | Változó, amelyben a vezérlő az eredményt tárolja |
" " vagy QS | SQL utasítás vagy QS paraméter a definícióval a következő tartalommal:
|
Megjegyzések
- Válasszon ki több értéket vagy több oszlopot az SQL EXECUTE SQL paranccsal és a SELECT utasítással.
- Az SQL-parancson belüli parancsoknak ugyanígy használhat egyszerű vagy összetett QS-paramétereket.
- Ha QS-paraméter tartalmát vizsgálja a kiegészítő állapotkijelzőben (QPARA fül), akkor csak az első 30 sort látja, és ezáltal nem a teljes tartalmat.
Példa
Az alábbi NC programok eredménye azonos.
0 BEGIN PGM SQL_READ_WMAT MM | |
1 SQL Q1800 "CREATE SYNONYM my_table FOR 'TNC:\table\WMAT.TAB'" | ; Szinonima létrehozása |
2 SQL BIND QS1800 "my_table.WMAT" | ; QS paraméter kötése |
3 SQL QL1 "SELECT WMAT FROM my_table WHERE NR==3" | ; Keresés definiálása |
* - ... |
* - ... | |
3 SQL SELECT QS1800 "SELECT WMAT FROM my_table WHERE NR==3" | ; Érték olvasása és mentése |
* - ... |
* - ... | |
3 DECLARE STRING QS1 = "SELECT " | |
4 DECLARE STRING QS2 = "WMAT " | |
5 DECLARE STRING QS3 = "FROM " | |
6 DECLARE STRING QS4 = "my_table " | |
7 DECLARE STRING QS5 = "WHERE " | |
8 DECLARE STRING QS6 = "NR==3" | |
9 QS7 = QS1 || QS2 || QS3 || QS4 || QS5 || QS6 | |
10 SQL SELECT QL1 QS7 | |
* - ... |