声明列别名
您可为 Projection 子句的选择列表中的任何列声明别名。GROUP BY 子句可通过列的别名引用
它。仅在 SELECT 语句正在执行时,此临时名称才有效。
如果您的别名是 SELECT 语句的 SQL 关键字,则请使用 AS column_alias 关键字来阐明语法。例
如,要使用 FROM 作为表别名,必须在该别名前紧接着 AS 关键字,来避免语法错误。下列语句使
用带有以 from 的 AS 作为别名:
SELECT status AS from FROM stock GROUP BY from;
下列等同的查询声明 pcol 作为别名,并在 GROUP BY 子句中使用那个别名:
SELECT pseudo_corinthian AS pcol FROM architecture GROUP BY pcol;
SELECT pseudo_corinthian pcol FROM architecture GROUP BY pcol;
INTO 子句
在 SPL 例程或 GBase 8s ESQL/C 程序中使用 INTO 子句来指定程序变量或主变量来接收
SELECT 检索的数据。
INTO 子句指定一个或多个接收查询返回的值的变量。如果它返回多个值,则以您指定这些变量的
顺序将它们赋予变量列表。
如果 SELECT 语句是孤立的(即,不是 DECLARE 语句的一部分,且不使用 INTO 子句),则
必须为单 SELECT 语句。单 SELECT 语句仅返回一行。
接收的变量的数目必须等于 Projection 子句的选择列表中项的数目。每一接收的变量的数据类型应
与选择列表中相应的列或表达式的数据类型相兼容。
当接收的变量的数据类型与被选择的项不相匹配时,要了解数据库服务器采取的活动,请参阅
ESQL/C 中的警告。
下列示例展示 GBase 8s ESQL/C 中的单 SELECT 语句:
EXEC SQL select fname, lname, company
into :p_fname, :p_lname, :p_coname
from customer where customer_num = 101;
在 SPL 例程中,如果 SELECT 返回多于一行,则您必须使用 FOREACH 语句来分别地访问这些
行。SELECT 语句的 INTO 子句持有获取的值。要获取更多信息,请参阅 FOREACH。