数据库服务器使用下列优先级规则来解释点表示法:
- schema name_a . table name_b . column name_c .
field name_d
- table name_a . column name_b . field name_c .
field name_d
- column name_a . field name_b . field name_c .
field name_d
当标识符的含义不明确时,数据库服务器使用优先级规则来确定标识符指定的是哪个数据库对象。请考虑下列两个表:
CREATE TABLE b (c ROW(d INTEGER, e CHAR(2));
CREATE TABLE c (d INTEGER);
在下列 SELECT 语句中,表达式
c.d 引用表
c 的列
d(而不是表
b 中列
c 的字段
d),因为表表达式比列标识符有更高的优先级:
SELECT *
FROM b,c
WHERE c.d = 10;
要获取更多关于优先级规则以及如何随同 ROW 列使用点表示法的信息,请参阅 GBase 8s SQL 教程指南。