DECLARE
v_orderid carddetail.orderid%type;
v_orderdate carddetail.orderdate%type;
v_endno carddetail.endno%type;
v_startno carddetail.startno%type;
v_amount carddetail.amount%type;
m NUMBER;
n NUMBER;
CURSOR c1 IS select orderid,orderdate,startno,endno,amount from carddetail b where b.orderid in
(select a.orderid from cardorder a where a.orderdate between '20110101' and '20110831' and
(a.guestname like '%个人%' or a.guestname like '%自用%' or a.guestname like '%白俊峰%' )) and rownum <3 order by orderid ;
BEGIN
OPEN c1;
LOOP
FETCH c1 INTO v_orderid, v_orderdate,v_endno,v_startno,v_amount;
EXIT WHEN c1%NOTFOUND;
select sum(substr(v_endno, 16, 3) - substr(v_startno, 16, 3) + 1) into m from dual;
select m*v_amount into n from dual;
dbms_output.put_line('orderid is :' || v_orderid ||chr(32) ||chr(32)||'发卡量:' || m || chr(32) ||chr(32)||'发卡额:' ||n);
-----我想把当前获取的m值,n值当成变量插入到下面的表中,可是最后提示错误,请问如何可以正确插入??? select seq_temp_id.Nextval,v_orderid,v_orderdate,v_endno,v_startno,v_amount,m,n into temp_pan from carddetail;
dbms_output.put_line('');
END LOOP;
CLOSE c1;
END;
/ERROR at line 21:
ORA-06550: line 21, column 88:
PLS-00403: expression 'TEMP_PAN' cannot be used as an INTO-target of a SELECT/FETCH statement
v_orderid carddetail.orderid%type;
v_orderdate carddetail.orderdate%type;
v_endno carddetail.endno%type;
v_startno carddetail.startno%type;
v_amount carddetail.amount%type;
m NUMBER;
n NUMBER;
CURSOR c1 IS select orderid,orderdate,startno,endno,amount from carddetail b where b.orderid in
(select a.orderid from cardorder a where a.orderdate between '20110101' and '20110831' and
(a.guestname like '%个人%' or a.guestname like '%自用%' or a.guestname like '%白俊峰%' )) and rownum <3 order by orderid ;
BEGIN
OPEN c1;
LOOP
FETCH c1 INTO v_orderid, v_orderdate,v_endno,v_startno,v_amount;
EXIT WHEN c1%NOTFOUND;
select sum(substr(v_endno, 16, 3) - substr(v_startno, 16, 3) + 1) into m from dual;
select m*v_amount into n from dual;
dbms_output.put_line('orderid is :' || v_orderid ||chr(32) ||chr(32)||'发卡量:' || m || chr(32) ||chr(32)||'发卡额:' ||n);
-----我想把当前获取的m值,n值当成变量插入到下面的表中,可是最后提示错误,请问如何可以正确插入??? select seq_temp_id.Nextval,v_orderid,v_orderdate,v_endno,v_startno,v_amount,m,n into temp_pan from carddetail;
dbms_output.put_line('');
END LOOP;
CLOSE c1;
END;
/ERROR at line 21:
ORA-06550: line 21, column 88:
PLS-00403: expression 'TEMP_PAN' cannot be used as an INTO-target of a SELECT/FETCH statement
解决方案 »
- 怎样将命令行中的内容清除一部分啊
- oracle安装失败,以前有安过,卸载后重新安装也没有问题,上次我重安前把注册表什么的都删除了再安就不行了
- oracle数据库中有10个表,这10个表很相似,如果把这10个表合成一个表?存储过程
- Developer2000中使用ole2读取excel文件发生错误,请大家帮忙?非常紧急!望各位能出手帮帮忙!多谢了!
- 怎么监控某张表的SELECT操作
- 希望好手能帮我,谢谢!我白天提了这个问题。
- 想察看Oracle数据库data里面有哪些表,用什么语句?
- 连接远程Oracle服务器出现如下错误 - ORA-12541: TNS:no listensr, 如何解决?
- mdac组建安装出现问题,说磁盘空间不够,但是所有硬盘驱动器让有数G的空间,这是咋回事?
- Oracle的存储过程怎么写呀?
- 关于ORACLE WITH查询慢
- ora-00918问题,求解决方法
如果是表insert into temp_pan
select seq_temp_id.Nextval,v_orderid,v_orderdate,v_endno,v_startno,v_amount,m,n into temp_pan from dual;
ORA-06550: line 21, column 102:
PL/SQL: ORA-01744: inappropriate INTO
ORA-06550: line 21, column 1:
PL/SQL: SQL Statement ignored
select seq_temp_id.Nextval,v_orderid,v_orderdate,v_endno,v_startno,v_amount,m,n
into temp_panfrom dual;select 的 into temp_pan 删掉