为了账号安全,请及时绑定邮箱和手机立即绑定

来换种变量赋值了怎么就不行了呢?

set serveroutput on
declare
cursor hi is select ename,sal from emp;
--光标就是集合来的  hi就是设置的数组变量
aa emp%rowtype;
begin
open hi;
loop
FETCH hi INTO aa ;
--取出 定义的变量放在集合里面   fetch根据记录变量一条条取出
EXIT when hi%notfound;
dbms_output.put_line(aa.ename||'的薪水是'|| aa.sal);
end loop;
close hi;
end;
/


正在回答

2 回答

你这里:aa emp%rowtype  使用的是记录型变量,指的是一行的所有的列:empno,ename,empjob,mgr...等8列,但你的光标:cursor hi is select ename,sal from emp; 就取到两列,你把两列的值往八列里面插肯定不行的!好好复习下记录型变量的使用

1 回复 有任何疑惑可以回复我~

你使用record类型来存储游标中的数据试试

typer record_emp is record

(

var_ename emp.ename%type,

var_sal emp.ename%type

);

aa record_emp


1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

来换种变量赋值了怎么就不行了呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信