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
解决方案 »
- 未找到时区区域,如何解决
- ubuntu instrall oracle11g error
- ----------出资-----出资----------请高手安装配置数据库集群
- 求一SQL
- 为什么在客户端两台,同一时间只能有一台用ned assistant连上oracle服务器
- 一个很简单的问题,怎么查看自己的所有表?
- 分区表的问题(高手进)我建了一张表,带分区,条件是假设销量在1000以下的商品信息存在a区,表空间任意,大于1000的商品信息存在b区,表
- 改变归档方式问题,up有分
- index和like的问题
- 一个简单的查询语句,为什么会出错?
- 关于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 删掉