pl/sql中的记录属于复合类型。需要先定义然后才能使用。
1. 定义语法:
DECLARE
TYPE record1 is RECORD (
subVar1 NUMBER(2),
subVar2 VARCHAR2(100)
);
var record1;
...
record里面的变量定义和普通的声明类似,但之间是以逗号隔开的,而且最后一个变量后面不能有逗号。
2. 应用成员。可以这样引用record里面的一个成员。
BEGIN
var.subVar1 := 12;
...
3. 赋值。两个record的成员类型必须完全相同才能赋值。也可以通过select... into recordVar 来赋值,同样select的内容的类型要和record相同。
4. 使用%ROWTYPE。
在PL/SQL里面可以利用数据库中的表的一个行的类型来定义record。
DECLARE
v_RoomRecord rooms%ROWTYPE;
这样record的字段和rooms表中的列对应。使用%TYPE时,在列上定义的not null约束都不会包含进来。