Tabelwaarde uitlezen met SQL SELECT
Toepassing
SQL SELECT leest een afzonderlijke waarde uit een tabel en slaat het resultaat in de gedefinieerde Q-parameter op.
Voorwaarden
- Sleutelgetal 555343
- Tabel aanwezig
- Geschikte tabelnaam
De namen van tabellen en tabelkolommen moeten met een letter beginnen en mogen geen rekenkundig teken, bijv. + bevatten. Deze tekens kunnen op basis van SQL-commando's bij het inlezen of uitlezen van gegevens tot problemen leiden.
Functiebeschrijving
Bij SQL SELECT zijn er geen transactie en geen koppelingen tussen tabelkolom en Q-parameter. De besturing houdt geen rekening met mogelijk bestaande koppelingen met de opgegeven kolom. De besturing kopieert de gelezen waarde uitsluitend naar de voor het resultaat opgegeven parameter.
Invoer
11 SQL SELECT Q5 "SELECT Mess_X FROM Tab_Example WHERE Position_NR==3" | ; Waarde van de kolom "Position_Nr" van de tabel "Tab_Example" in Q5 opslaan |
U navigeert als volgt naar deze functie:
NC-functie invoegen Alle functies FN SQL SQL SELECT
De NC-functie bevat de volgende syntaxiselementen:
Syntaxiselement | Betekenis |
---|---|
SQL SELECT | Voorbeeld voor het SQL-commando SQL SELECT |
Q, QL, QR, QS of Q REF | Variabele waarin de besturing het resultaat opslaat |
Naam of QS | SQL-opdracht of QS-parameter met de definitie met de volgende inhoud:
Vaste of variabele naam |
Instructies
- Meerdere waarden of meerdere kolommen selecteert u met behulp van SQL-commando SQL EXECUTE en de instructie SELECT.
- Na het syntaxiselement WHERE kunt u de vergelijkingswaarde ook als variabele definiëren. Wanneer u Q-, QL- of QR-parameters voor de vergelijking gebruikt, rondt de besturing de gedefinieerde waarde af op een geheel getal. Wanneer u een QS-parameter gebruikt, gebruikt de besturing de gedefinieerde waarde.
- U kunt voor de opdrachten binnen het SQL-commando ook eenvoudige of samengestelde QS-parameters gebruiken.
- Wanneer u de inhoud van een QS-parameter in de extra statusweergave (tab QPARA controleert, ziet u uitsluitend de eerste 30 tekens en dus niet de volledige inhoud.
Voorbeeld
Het resultaat van de volgende NC-programma's is identiek.
0 BEGIN PGM SQL_READ_WMAT MM | |
1 SQL Q1800 "CREATE SYNONYM my_table FOR 'TNC:\table\WMAT.TAB'" | ; Synoniem maken |
2 SQL BIND QS1800 "my_table.WMAT" | ; QS-parameters koppelen |
3 SQL QL1 "SELECT WMAT FROM my_table WHERE NR==3" | ; Zoeken definiëren |
* - ... |
* - ... | |
3 SQL SELECT QS1800 "SELECT WMAT FROM my_table WHERE NR==3" | ; Waarde lezen en opslaan |
* - ... |
* - ... | |
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 | |
* - ... |