可以通过以下方式为集合变量赋值。
①调用构造函数来创建集合,并将其分配给集合变量。
②使用赋值语句将另一个现有集合变量的值赋值给它。
③将其作为OUT或IN OUT参数传递给子程序,然后在子程序内赋值。
要为集合变量的标量元素赋值,使用collection_variable_name(index)语法引用这些元素,并为其赋值。
只有当集合变量具有相同的数据类型时,才能将集合分配给集合变量。只有元素类型相同,则无法互相赋值。
示例3.7: 数据类型兼容的集合赋值。
功能描述: 在本例中,可变数组类型VARRAY_TYPE1和VARRAY_TYPE2有相同的元素类型TEXT。集合变量varray1和varray2有相同的数据类型VARRAY_TYPE1,但是集合变量varray3是数据类型VARRAY_TYPE2。varray1给varray2赋值成功,但varray1给varray3赋值失败。
程序代码如下。
程序运行结果如下。
可以给可变数组或嵌套表变量赋NULL值或相同数据类型的NULL集合。任一赋值都会使变量为空。
示例3.8: 给嵌套表变量赋NULL值。
功能描述: 在本例中,先将嵌套表变量city_names初始化为非空值;然后为其分配空集合置空;最后将其重新初始化为不同的非空值。
程序代码如下。
程序运行结果如下。