返回首页

gbase数据、南大通用产品文档:GBase8s

更新日期:2024年09月11日

op type count avg. time
seeks 0 N/A
reads 1 0.0131
writes 3 0.0074
kaio_reads 0 N/A
kaio_writes 0 N/A

5 sbs1.chunk 45056 22 26624 13

Literal Row 段指定命名的和未命名的 ROW 数据类型的文字的值的语法。
要了解在 ROW 数据类型内求值为字段值的表达式的信息,请参阅 ROW 构造函
数。
语法
Literal Row

字段文字的值

元素
描述
限制
语法

GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 1574
literal_opaque_type
opaque 数据
类型的文字
的表示
对于相关联的 opaque
数据类型,必须为输入
支持函数识别的文字

opaque
数据类型
的开发者
定义
literal_BOOLEAN
BOOLEAN 值
的文字的表

必须指定 't' (= TRUE)
或 'f' (= FALSE) 作为
引用字符串
引用字符

用法
您可为命名的 ROW 和未命名的 ROW 数据类型指定文字的值。ROW 构造函数
引入文字的 ROW 值,在引号之间可可选地包括它。
ROW 类型的每一字段的值的格式必须与相应的字段的数据类型相兼容。
重要: 您不可指定简单大对象(BYTE 或 TEXT)作为一行的字段类型。
一行的字段可为下列表格中数据类型的文字的值。
对于类型的字段
文字的值语法
BOOLEAN
t 或 f,表示 TRUE 或 FALSE
CHAR、VARCHAR、LVARCHAR、
NCHAR、NVARCHAR、CHARACTER
VARYING、DATE
引用字符串
DATETIME
文字的 DATETIME
DECIMAL、MONEY、FLOAT、
INTEGER、INT8、SMALLFLOAT、
SMALLINT
精确数值
INTERVAL
文字的 INTERVAL
Opaque 数据类型
引用字符串
对于相关联的 opaque 类型,该字符串必
须是由输入支持函数识别的文字。
集合类型(SET、MULTISET、
LIST)
文字的集合
要获取关于作为变量或列值的文字的集合
值的信息,请参阅 嵌套的引号。要获取

GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 1575
关于 ROW 类型的文字的集合值的信息,
请参阅 嵌套的 Row 的文字。
另一 ROW 类型(命名的或未命名
的)
要获取关于 ROW 类型值的信息,请参阅
嵌套的 Row 的文字。
未命名的 Row 类型的文字
要为未命名的 ROW 类型指定文字的值,请以 ROW 构造函数引入文字的行;您
必须将这些值括在圆括号之间。例如,假设您定义 rectangles 表如下:
CREATE TABLE rectangles
(
area FLOAT,
rect ROW(x INTEGER, y INTEGER, length FLOAT, width FLOAT),
)
下列 INSERT 语句将这些值插入到 rectangles 表的 rect 列内:
INSERT INTO rectangles (rect)
VALUES ("ROW(7, 3, 6.0, 2.0)")
命名的 Row 类型的文字
要为命名的 ROW 类型指定文字的值,请以 ROW 类型构造函数引入文字的行,并
将每一字段的文字的值括在圆括号中。此外,您可将行文字强制转型为适合的命
名的 ROW 类型,来确保生成行值作为命名的 ROW 类型。下列语句创建命名的
ROW 类型 address_t 以及 employee 表:
CREATE ROW TYPE address_t
(
street CHAR(20),
city CHAR(15),
state CHAR(2),
zipcode CHAR(9)
);

CREATE TABLE employee
(
name CHAR(30),
address address_t
);

GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 1576
下列的 INSERT 语句将值插入到 employee 表的 address 列内:
INSERT INTO employee (address)
VALUES (
"ROW('103 Baker St', 'Tracy','CA', 94060)"::address_t)
嵌套的 Row 的文字
如果是嵌套的row 的文字的值,请为每一行级别指定 ROW 类型构造函数。如果您
包括引号作为定界符,则应将它们括在最外面的 row。例如,假设您创建
emp_tab 表:
CREATE TABLE emp_tab
(
emp_name CHAR(10),
emp_info ROW( stats ROW(x INT, y INT, z FLOAT))
);
下列 INSERT 语句将一行添加到 emp_tab 表:
INSERT INTO emp_tab VALUES ('joe boyd', "ROW(ROW(8,1,12.0))" );
类似地,如果 row 字符串文字包含嵌套的集合,则仅可将最外面的文字的 row
括在引号之间。请不要将引号置于嵌套的集合类型的内部。

GBaseParameter 方法