SQL EXECUTE执行SQL语句
应用
SQL EXECUTE与多个SQL指令一起使用。
要求
- 密码号555343
- 表存在
- 相应的表名
表名和表列名必须用字母开头且不能包括任何算数操作符(例如,+)。由于SQL命令的原因,输入或读取数据时,这些字符可导致问题。
功能说明
数控系统在SQL EXECUTE指令中执行以下SQL语句:
指令 | 功能 |
---|---|
SELECT | 选择数据 |
CREATE SYNONYM | 创建同义字(用简写取代长路径名) |
DROP SYNONYM | 删除同义字 |
CREATE TABLE | 生成表 |
COPY TABLE | 复制表 |
RENAME TABLE | 重命名表 |
DROP TABLE | 删除表 |
INSERT | 插入多个表行 |
UPDATE | 更新表行 |
DELETE | 删除多个表行 |
ALTER TABLE |
|
RENAME COLUMN | 重命名表列 |
SQL EXECUTE与SQL指令SELECT
SQL服务器使数据逐行地位于结果集中。行号用升序编号,从0开始。这些行号(INDEX)使用SQL命令FETCH和UPDATE。
SQL EXECUTE,与SQL指令SELECT一起使用,选择表中数据并将其传递给结果集中且在操作中始终打开事物。与SQL命令SQL SELECT不同,SQL EXECUTE与SELECT指令结合可以同时选择多列和多行。
用SQL ... “SELECT...WHERE..."功能输入搜索条件。因此,限制传递的行数。如果不用该选项,加载表的全部表行。
用SQL ... “SELECT...ORDER BY..."功能输入排序条件。该项包括列标识和升序(ASC)或降序(DESC)的关键字。如果不用该选项,用随机顺序保存表行。
用SQL ... "SELECT...FOR UPDATE"功能锁定被选行,避免其它应用使用。其它应用可以 继续读取这些行,但不能对其进行修改。如果要修改这些表项,必须使用该选项。
空结果集:如果无任何行满足搜索条件,那么SQL服务器返回有效句柄但无表项内容。
条件 | 编程 |
---|---|
等于 | = == |
不等于 | != <> |
小于 | < |
小于或等于 | <= |
大于 | > |
大于或等于 | >= |
空 | IS NULL |
非空 | IS NOT NULL |
连接多个条件: | |
逻辑与 | AND |
逻辑或 | OR |
注意
- 也可定义尚未生成表的同义字。
- 已创建文件的表列顺序对应于用AS SELECT指令中的顺序。
- 对于SQL命令内的指令,同样可用单个和组合的QS参数。
- 如果在附加状态栏(QPARA选项卡)检查QS参数的内容,只显示前30个字符,因此,内容不完整。
举例
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'" | ; 创建同义字 |
2 SQL Q10 "CREATE TABLE NEW AS SELECT X,Y,Z FROM 'TNC:\prototype_for_NewTab.tab'" | ; 创建表 |
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 |