SQL EXECUTE执行SQL语句

应用

SQL EXECUTE与多个SQL指令一起使用。

要求

  • 密码号555343
  • 表存在
  • 相应的表名
  • 表名和表列名必须用字母开头且不能包括任何算数操作符(例如,+)。由于SQL命令的原因,输入或读取数据时,这些字符可导致问题。

功能说明

黑色箭头和相应的指令显示SQL SELECT的内部操作. 灰色箭头和相应的指令与SQL EXECUTE命令无直接关系.

数控系统在SQL EXECUTE指令中执行以下SQL语句:

指令

功能

SELECT

选择数据

CREATE SYNONYM

创建同义字(用简写取代长路径名)

DROP SYNONYM

删除同义字

CREATE TABLE

生成表

COPY TABLE

复制表

RENAME TABLE

重命名表

DROP TABLE

删除表

INSERT

插入多个表行

UPDATE

更新表行

DELETE

删除多个表行

ALTER TABLE

  • ADD添加表列
  • DROP删除表列

RENAME COLUMN

重命名表列

SQL EXECUTE与SQL指令SELECT

SQL服务器使数据逐行地位于结果集中。行号用升序编号,从0开始。这些行号(INDEX)使用SQL命令FETCHUPDATE

SQL EXECUTE,与SQL指令SELECT一起使用,选择表中数据并将其传递给结果集中且在操作中始终打开事物。与SQL命令SQL SELECT不同,SQL EXECUTESELECT指令结合可以同时选择多列和多行。

SQL ... “SELECT...WHERE..."功能输入搜索条件。因此,限制传递的行数。如果不用该选项,加载表的全部表行。

SQL ... “SELECT...ORDER BY..."功能输入排序条件。该项包括列标识和升序(ASC)或降序(DESC)的关键字。如果不用该选项,用随机顺序保存表行。

SQL ... "SELECT...FOR UPDATE"功能锁定被选行,避免其它应用使用。其它应用可以 继续读取这些行,但不能对其进行修改。如果要修改这些表项,必须使用该选项。

结果集如果无任何行满足搜索条件,那么SQL服务器返回有效句柄但无表项内容。

WHERE项的条件

条件

编程

等于

= ==

不等于

!= <>

小于

<

小于或等于

<=

大于

>

大于或等于

>=

IS NULL

非空

IS NOT NULL

连接多个条件:

逻辑与

AND

逻辑或

OR

注意

  • 也可定义尚未生成表的同义字。
  • 已创建文件的表列顺序对应于用AS SELECT指令中的顺序。
  • 对于SQL命令内的指令,同样可用单个和组合的QS参数。
  • 字母数字值的串联连接

  • 如果在附加状态栏(QPARA选项卡)检查QS参数的内容,只显示前30个字符,因此,内容不完整。
  • QPARA选项卡

举例

举例:选择表行

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"

举例:用WHERE功能选择表行

20 SQL Q5 "SELECT Position_Nr,Measure_X,Measure_Y, Measure_Z FROM Tab_Example WHERE Position_Nr<20"

举例:用WHERE功能和Q参数选择表行

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