TABLE 关键字可以把
GBase 8s ESQL/C
row 变量变成集合派生表。也就是说,一行在 SQL
语句中作为表出现。对于
行变量,把集合派生表看作只有一行的表,
行类型的每个字段就是行的一列。使用关键字 TABLE 在这些 SQL 语句中代替表、同义词或视图的名称:
- SELECT 语句的 FROM 子句(用来访问 row 变量的一个字段)
- UPDATE 语句(用来修改 row 变量中已有的字段)
DELETE 和 INSERT 语句不支持集合派生表段的 row 变量。
例如,假设 ESQL/C 主变量
a_row
有以下声明:
EXEC SQL BEGIN DECLARE SECTION;
row(x int, y int, length float, width float) a_row;
EXEC SQL END DECLARE SECTION;
下面的 ESQL/C 代码段把
a_row 变量中的字段添加到表
tab_row 的
row_col
列:
EXEC SQL update table(:a_row)
set x=0, y=0, length=10, width=20;
EXEC SQL update rectangles set rect = :a_row;