记录表类型 oracle,[转]关于oracle的记录类型

1、记录类型是用于处理单行多列数据的。如果使用标量变量处理单行多列数据,需要定义多个标量变量接受列数据。

declare

v_ename emp.ename%type;

v_sal

emp.sal%type;

v_job

emp.job%type;

begin

select

ename,sal,job into v_ename,v_sal,v_job from emp where empno =

7788;

dbms_output.put_line('xingming:'||v_ename);

dbms_output.put_line('gongzi'||v_sal);

dbms_output.put_line('gongzuo'||v_job);

end;

注意 select (ename,sal,job )into (v_ename,v_sal,v_job) from emp

where empno = 7788;//不对,不能有括号。括号的使用

如果使用记录

DECLARE

TYPE emp_record_type

IS RECORD(

name emp.ename%type ,

sal emp.sal%type ,

job emp.job%type

) ;//定义记录类型 ,使用rowtype定义时,不需要使用type定义。

emp_record emp_record_type;

begin

select ename, sal , job

into emp_record from emp where

empno = 7788;

dbms_output.put_line('xingming:'||v_ename);

dbms_output.put_line('gongzi'||v_sal);

dbms_output.put_line('gongzuo'||v_job);

end ;

使用rowtype定义记录变量即可,无需定义记录类型了。

emp_record emp%rowtype;

2、oracle

9i之前,如果用记录向表中插入数据,那么只能使用记录成员;oracle9i之后,既可以使用记录成员,也可以直接使用记录。

3、oracle

9i之前,如果用记录更新数据,那么只能使用记录成员;oracle9i之后,既可以使用记录成员,也可以直接使用记录。

dept_record dept%rowtype;

...

update dept set row = dept_record where deptno = 30;

4、删除记录时,只能在delete语句的where子句中使用记录成员。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值