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

错误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 打赏 评论
  • 有问必答小助手 2021-06-22 17:10

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    点赞 打赏 评论

相关推荐 更多相似问题