定义变量,变量类型的,这个是可变的
这里涉及到一个概念叫记录类型,记录类型是把逻辑相关的数据作为一个单元存储起来,称作一个record,其
作用是存储互不相同但逻辑相关的信息,这个叫记录类型,这个是以什么东西,你就把他当成JAVA里面类似类的概念
一样,类似一个类的概念
你看我们现在声明的是一个变量,声明了三个变量,你可以把它理解成成员变量,分别把他们三个放到这里边,
现在呢,三个不让他当做一个变量了,我让他当成record里的三个变量,不让他暴露出来,那我就在这里声明一个叫type,
起个名,emp相关的一个叫,emp_record,取名,你定义的这个类型,record,加个括号,里边是这几个变量,这里不叫声明变量,
声明一个记录类型,这个record就是叫记录类型,说明这个是一个record,是一个记录类型,这相当于是一个类,这个类里边
有三个成员变量,然后JAVA里面不能让类来调用成员变量,得让对象来调,那我们这里同样的,定义一个记录类型的,成员变量,
怎么定义啊,变量一般用v开头,只要是定义变量,有定义变量的类型,这个类型就是record类型的,就是他这个类型的,放到这,
定义这个记录类型的一个变量,这个定义那下面的你就可以来修改修改了,这个怎么改啊,你只需要把这三个变量放在,我就不用
写你这三个了,三个都作为一个对象里边的,三个变量了,我就into,放在这个对象里边,他就一次还是按照你这个定义的顺序,
依次的把salary,email给了他,hire_date给了他,然后放到这里以后,那你输出的时候,也就需要变一下,只输出这个对象的,
这个变量,这个对象的第二个变量,第三个变量,这是不是逗号,最后这个就不用加了,括号外分号,极度呕心的,符号要注意
declare
type emp_record is record(
v_sal employees.salary%type,
v_email employees.email%type,
v_hire_date employees.hire_date
);
v_emp_record emp_record;
begin
select salary,email,hire_date into v_emp_record from employees where employee_id = 100;
dbms_output.put_line(v_emp_record.v_sal||','||v_emp_record.v_email||','||
v_emp_record.v_hire_date);
end;
定义了一个记录类型,记录类型里边也可以使用这种,你看这三个变量他们什么关系也没有,有点类似于孤儿一样,
然后我们record,你们都放在我这里就行,然后别人操作的时候,只要操作我这个记录类型变量就可以,然后我这里面
有这三个,这就跟JAVA里面讲的类一样,有类的概念以后,学的时候麻烦,但是用的时候方便,今天就讲到这么多,刚才说的
这几个代码,你在这里边都能够找到,这个都有