oracle数据库的引用型和记录型
1:%type引用型
作用于某行某列的字段类型,就是某个字段的引用,确定某数据是根据表中的某个列中查找出来的,不写具体的类型,通过属性的方式去引用这个列的数据
格式:表名.列名%type –在属性中声明
2:记录型
可以代表某个表中的某一行的类型(一行有多个类型的变量),就是一个集合,提取了一行所有列变量,相当于一个Java中的实体类oracle账号,一个实体类就是一条记录
格式:表名%rowtype
案例四:使用表名%rowtype进行操作
declare
–定长度,精确到2位
v_price number(10,2);
v_usenum number;
v_usenum2 number;
v_money number(10,2); –水费
–设定一个记录型,一行就是一个Java中的实体类,封装了多列的数据类型
v_account t_account%rowtype; –注意定义的格式
begin
v_price:=3.45;
select * into v_account from t_account
where year='2012' and month='01' and owneruuid=1;
–字数换算成吨数
v_usenum2:=round(v_account.usenum/1000,2);
— v_account t_account%rowtypev_account相当于记录型的对象,通过对象调用其所需列的属性
–round(value,precision) 按precision精度四舍五入
–计算出水费金额
v_money:=v_price*v_usenum2;
–内置了一个存储过程,用于输出内容
dbms_output.put_line('字数:'||v_account.usenum||'金额:'||v_money);
end;