PLSQL Language Referenc-PL/SQL集合和记录-将整行或行的一部分赋值给记录变量
将整行或行的一部分赋值给记录变量 (1)SELECT INTO子句将行赋值给记录变量 查询列表into 表或视图名 对于选择列表中的每列,记录变量必须有对应的、类型兼容的域。选择列表中的列必须和记录中的域具有相同的顺序。 ...
PLSQL Language Referenc-PL/SQL集合和记录-给记录变量赋值
给记录变量赋值 对于任何记录变量,可以为每个域单独赋值;在有些情况下可以将一个记录变量的值赋给另一个记录变量;如果一个记录变量表示表或视图的整行或行的一部分,可以将被表示的行赋值给记录变量。 将一个记录变量赋值给另一个 只有下面的情况可以进行整体赋值: n 2个变量具有相同的记录类...
PLSQL Language Referenc-PL/SQL集合和记录-记录变量-%ROWTYPE属性
%ROWTYPE属性 (1)记录变量始终表示整行 变量名/视图名%DECLARE dept_rec departmentsROWTYPE .:=10 .:='Administration' .:=200 .:=1700 ....
PLSQL Language Referenc-PL/SQL集合和记录-记录变量-RECORD类型
RECORD类型 在PL/SQL块中定义的记录类型是局部类型,只有在块内部有效。仅当这个块是个独立的存储或包子程序时,才被存储在数据库中。 在包规范中定义的记录类型是一个公有成员,可以在包外面通过包名修饰符来引用它,包名.类型名。它一直存储在数据库中,直到使用drop package语句删除了包。 不能在方案层次...
PLSQL Language Referenc-PL/SQL集合和记录-记录变量
记录变量 可以采用下面的方法来定义记录变量: n 定义一个记录类型,然后定义该类型的变量。 n 使用%ROWTYPE声明记录变量,用以表示数据库表或视图的整行或部分行。 n 使用%TYPE定义与前面定义的记录变量具有相同类型的记录变量。 记录变量的初始值 记录变量的每个域的初始值...
PLSQL Language Referenc-PL/SQL集合和记录-在包规范中定义的集合
在包规范中定义的集合 在包规范中定义的集合类型不兼容于局部定义的或独立存储的集合类型。 pkg TYPEISTABLEOFNUMBER PROCEDURE();END; pkg PROCEDURE()IS ...
PLSQL Language Referenc-PL/SQL集合和记录-集合方法-PRIOR和NEXT方法
PRIOR和NEXT方法 这2个方法允许在集合中向前和向后移动,这对于遍历稀疏集合非常有用。 n PRIOR返回指定索引的前一个索引,如果前面有元素存在,否则返回NULL。 n NEXT返回指定索引的后一个索引,如果后面有元素存在,否则返回NULL。 TYPEISTABLEOFNUMBE...
PLSQL Language Referenc-PL/SQL集合和记录-集合方法-LIMIT方法
LIMIT方法 返回集合可以拥有的最大元素个数,如果集合没有上限,则返回NULL。只有可变数组有上限。 -- 关联数组 aa_type ; aa aa_type TYPEIS()OFINTEGER ...
PLSQL Language Referenc-PL/SQL集合和记录-集合方法-COUNT方法
COUNT方法 返回集合中元素的个数,不计算被DELETE的元素。 (1)可变数组的COUNT COUNT始终 = LAST,如果使用extend或trim增加或减小可变数组,则count随之改变。 TYPEIS()OFINTEGER :=(,3 ,7 print_count_and_...
PLSQL Language Referenc-PL/SQL集合和记录-集合方法-FIRST和LAST方法
FIRST和LAST方法 n 如果集合有至少一个元素,则FIRST和LAST分别返回第1个和最后一个元素的索引(会忽略掉被DELETE的元素); n 如果集合中只有一个元素,则FIRST和LAST返回相同的索引; n 如果集合为empty,则2者都返回NULL。 (1)关联数组的FIRST和LAST方法 对于以PLS_INTEGER索...
PLSQL Language Referenc-PL/SQL集合和记录-集合方法-EXISTS方法
EXISTS方法 判断可变数组或嵌套表的指定元素是否存在。 n exists(n),如果第n个元素存在,返回true,否则false; n 如果n超出索引范围,则返回false。 n 对于被delete的元素,它返回false。 --嵌套表TYPEISTABLEOFINTEGER :=(...
PLSQL Language Referenc-PL/SQL集合和记录-集合方法-EXTEND方法
EXTEND方法 向可变数组或嵌套表尾部添加元素。集合可以为EMPTY,但不能为NULL。 形式: n 向集合添加一个null元素。 n EXTEND(n),向集合添加n个null元素。 n EXTNED(n, i),向集合添加n个第i个元素的拷贝。 注意:如果集合中的元素有NOT NULL约束,则extend(n, i)是唯一可用...
PLSQL Language Referenc-PL/SQL集合和记录-集合方法-TRIM方法
TRIM方法 从可变数组或嵌套表尾部删除元素,有如下形式: n 如果集合中有至少一个元素,则从集合尾部移除一个元素,否则引发SUBSCRIPT_BEYOND_COUNT异常。 n TRIM(n),如果集合至少有n个元素,则从集合尾部移除n个元素,否则引发SUBSCRIPT_BEYOND_COUNT异常。 TRIM操作于集合的内部大小,即D...
PLSQL Language Referenc-PL/SQL集合和记录-集合方法-DELETE方法
集合方法 集合方法是一个PL/SQL子程序(或者是一个返回信息的函数,或者是操作集合的过程)。集合方法使得集合更容易被使用,应用程序更容易维护。 注意:对于NULL集合,EXISTS是唯一一个不会引发COLLECTION_IS_NULL异常的方法。 集合方法 DELETE 过程 ...
PLSQL Language Referenc-PL/SQL集合和记录-使用Multiset Conditions比较嵌套表
使用Multiset Conditions比较嵌套表 可以使用SQL MultisetConditions来比较嵌套表和测试它们的属性。 TYPEISTABLEOFNUMBER :=(,,); :=(,,); nt3 nested_typ nested_typ2313nt4 nested_typ nested_typ124 PROCEDURE(BO...
PLSQL Language Referenc-PL/SQL集合和记录-集合比较-比较嵌套表是否相等
比较嵌套表是否相等DECLARE dnames_tab ();-- 元素不是记录类型 :=(,,,); := dnames_tab'BBBB''CCCC''AAAA''DDDD' dept_names3 dnames_tab (,,); ...
PLSQL Language Referenc-PL/SQL集合和记录-集合比较-和NULL比较可变数组和嵌套表变量
集合比较 集合变量不能相互比较,也不能与NULL进行比较。 除了比较嵌套表相等和不相等之外,不能使用关系操作符比较2个集合变量,该限制也会应用于隐式比较,例集合变量不能出现在distinct,group by,order by 子句中。DECLARE Foursome VARRAY4 ();-- 可变数组 team Fo...
PLSQL Language Referenc-PL/SQL集合和记录-多维集合
多维集合 尽管集合只有一维,但可以构造一个多维集合,即一个集合的元素也是集合。 DECLARE (可以是锯齿形的 TYPEIS()OFINTEGER :=(,,); nt1 VARRAY10 t1 :=(,(,,),(,),); t...
PLSQL Language Referenc-PL/SQL集合和记录-集合变量赋值-将集合操作结果赋给嵌套表
将集合操作结果赋给嵌套表 可以将SQL的MULTISET操作或SET函数调用的结果赋值给嵌套表。 MULTISET操作符将2个嵌套表合并成一个嵌套表。2个嵌套表的元素必须具有可比较的数据类型;SET函数接收一个嵌套表参数,返回一个相同数据类型的嵌套表,它的元素都是不同的。(即排队了重复的元素) ...
PLSQL Language Referenc-PL/SQL集合和记录-集合变量赋值-给可变数组和嵌套表赋NULL值
给可变数组和嵌套表赋NULL值。 --嵌套表TYPEISTABLEOFVARCHAR230 -- 初始化为非 :=(,,,); empty_set dnames_tab NULL print_dept_names_status BEGIN &nbs...