TRIM方法
从可变数组或嵌套表尾部删除元素,有如下形式:
n 如果集合中有至少一个元素,则从集合尾部移除一个元素,否则引发SUBSCRIPT_BEYOND_COUNT异常。
n TRIM(n),如果集合至少有n个元素,则从集合尾部移除n个元素,否则引发SUBSCRIPT_BEYOND_COUNT异常。
TRIM操作于集合的内部大小,即DELETE删除元素会保留占位符,而TRIM认为该元素是存在的,所以TRIM可以删除被DELETE的元素。
PL/SQL不会为TRIM掉的元素保留占位符,即TRIM掉的元素是不包含在集合的内部大小的,也不能通过指定一个有效值来恢复已经TRIM掉的元素。
警告:不要依赖于TRIM和DELTETE的相互作用。只使用DELETE,可以将嵌套表看成是定长数组,只使用TRIM和EXTEND可以将嵌套表看作是栈。
DECLARE --嵌套表 nt nt_type := nt_type(11, 22, 33, 44, 55, 66); BEGIN dbms_output.put_line('初始状态'); print_nt(nt);
nt.TRIM; dbms_output.put_line('trim 1个元素'); print_nt(nt);
nt.DELETE(4); dbms_output.put_line('删除索引为4的元素'); print_nt(nt);
nt.TRIM(2); dbms_output.put_line('trim 2个元素'); print_nt(nt); END;
|
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17013648/viewspace-1116017/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/17013648/viewspace-1116017/