JandyHRJ
2021-06-20 01:35
采纳率: 100%
浏览 98

错误ORA-01722和ORA-06512的问题

这是两个表

--创建读者表
create table reader(
rno number(10) not null primary key,
rname varchar2(20),
rid number(18) unique)tablespace HRJ
storage(initial 256k);
--创建图书表
create table book(
bno number(10) not null primary key,
bname varchar2(20) not null,
bprice varchar(4),
author varchar2(30) not null,
bnum int not null)tablespace HRJ
storage(initial 256k);

这是存储过程

CREATE OR REPLACE PROCEDURE Rlend(
B_ID VARCHAR2,R_ID  VARCHAR2)
is
v_rno number(10);
v_rname varchar2(20);
v_bno number(10);
v_bname varchar2(20);
BEGIN
select  rno,rname into v_rno,v_rname from reader where rno=r_id;
select  bno,bname into v_bno,v_bname from book where bno=b_id;
insert into rb(readno,rno,rname,bno,bname,BACK) values(cseq.nextval,'v_rno','v_rname','v_bno','v_bname','N');
COMMIT;
END;
/
过程已创建。
--执行
BEGIN
rlend('1015','5');
END;
/
BEGIN
*
第 1 行出现错误:
ORA-01722: 无效数字
ORA-06512: 在 "BOOK.RLEND", line 11
ORA-06512: 在 line 2
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

2条回答 默认 最新

  • 最佳回答

    删除变量名称的单引号

    insert into rb(readno,rno,rname,bno,bname,BACK) values(cseq.nextval,'v_rno','v_rname','v_bno','v_bname','N')

    改为

    insert into rb(readno,rno,rname,bno,bname,BACK) values(cseq.nextval,v_rno,v_rname,v_bno,v_bname,'N')

     

    评论
    解决 1 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题