SQL SELECT读取表值
应用
SQL SELECT读取表的一个值并将结果保存在定义的Q参数中。
要求
- 密码号555343
- 表存在
- 相应的表名
表名和表列名必须用字母开头且不能包括任何算数操作符(例如,+)。由于SQL命令的原因,输入或读取数据时,这些字符可导致问题。
功能说明
SQL SELECT不导致事物,也不导致表列与Q参数的绑定。数控系统不考虑与指定表列的任何绑定。数控系统只将读取值复制到为结果指定的参数中。
输入
11 SQL SELECT Q5 "SELECT Mess_X FROM Tab_Example WHERE Position_NR==3" | ; 将“Tab_Example”表的“Position_No”表列值保存在Q5中 |
NC数控功能包括以下指令元素:
指令元素 | 含义 |
---|---|
SQL BIND(SQL绑定) | SELECT SQL指令的指令符 |
Q/QL/QR、QS或Q REF | 数控系统保存结果的变量 |
" "或QS | SQL语句或QS参数及定义含:
|
注意
- 用SQL语句SQL EXECUTE和SELECT语句选择多个数据或多个表列。
- 对于SQL命令内的指令,同样可用单个和组合的QS参数。
- 如果在附加状态栏(QPARA选项卡)检查QS参数的内容,只显示前30个字符,因此,内容不完整。
举例
以下NC数控程序的结果相同。
0 BEGIN PGM SQL_READ_WMAT MM | |
1 SQL Q1800 "CREATE SYNONYM my_table FOR 'TNC:\table\WMAT.TAB'" | ; 创建同义字 |
2 SQL BIND QS1800 "my_table.WMAT" | ; 绑定QS参数 |
3 SQL QL1 "SELECT WMAT FROM my_table WHERE NR==3" | ; 定义搜索 |
* - ... |
* - ... | |
3 SQL SELECT QS1800 "SELECT WMAT FROM my_table WHERE NR==3" | ; 读取和保存值 |
* - ... |
* - ... | |
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 | |
* - ... |