您可在 SELECT 语句的 WHERE 子句中以及 INSERT 语句的 VALUES 子句中使用集合构造函数。您还可将集合构造函数传递给 UDR。
关键字 | 描述 |
---|---|
SET | 表明带有下列性质的集合元素:
|
MULTISET | 表明带有下列性质的元素的集合:
|
LIST | 表明带有下列性质的元素的集合:
|
集合的元素类型可为任何内建的或扩展的数据类型。您可随同集合构造函数使用任何类型的表达式,包括文字、函数和变量。
当您使用带有表达式的列表的集合构造函数时,数据库服务器将每一表达式求值为它等同的文字,并使用文字的值来构造该集合。
您可以一系列大括号( { } )指定空集合。
集合的元素不可为 NULL。如果集合元素求值为 NULL 值,则数据库服务器返回错误。
每一表达式的元素类型必须全都是完全相同的数据类型。要实现这一点,将整个集合构造函数表达式强制转型为集合类型,或将个别的元素表达式强制转型为同一类型。如果数据库服务器不可确定集合类型与元素类型是同类的,则集合构造函数返回错误。在主变量的情况下,在客户端声明主变量的元素类型的绑定时刻作出此决定。
当集合的有些元素是 VARCHAR 数据类型但其他的长度不长于 255 字节时,可发生对此限制的例外。在此,集合构造函数可将 CHAR(n) 类型指定给所有元素,n 是以字节计的最长的元素的长度。(但是,请参阅 集合数据类型 了解基于此例外的示例,用户通过显式的强制转型为 LVARCHAR 数据类型来避免固定长度的 CHAR 元素。)