java调存储过程00302,存储过程求助!PLS-00302

table  a (id ,type ,col1 ,col2 ,col3)

select * from table a

1 1 22 33 55

1 2 22 38 55

2 1 44 40 50

2 2 44 40 55

table aa (COL)

select * from aa;

COL1

COL2

COL3

table aaa (ne_id, old_value, now_value, modify_item,TYPE)

现在要比较表a中id相等,type不等的列的不同。将比较结果放入 AAA表中。

如上面的数据,我想要得到的 AAA表中的数据为

SELECT * FROM AAA;

id old_value now_value modify_item  TYPE

1 33 38 'COL2' 2

2 50 55 'COL3' 2

我写的存储过程如下:

/* Formatted on 2004/04/22 16:04 (Formatter Plus v4.8.0) */

CREATE OR REPLACE PROCEDURE test_change (starttime DATE)

AS

v_check   NUMBER;

v_name    VARCHAR2 (10);

CURSOR v_colname

IS

SELECT COL

FROM AA;

CURSOR v_curnew

IS

SELECT *

FROM A

WHERE TYPE = 2;

BEGIN

FOR v_new IN v_curnew

LOOP

--*************

FOR v_col IN v_colname

LOOP

v_name := v_col.COL;

SELECT v_col.COL

INTO v_check

FROM A

WHERE TYPE = 1 AND ID = v_new.ID;

IF v_new.v_name <> v_check

THEN

INSERT INTO aaa

(id, old_value, now_value, modify_item,

TYPE

)

VALUES (v_new.id, v_check, v_new.v_name, v_col.COL,

v_new.TYPE

);

END IF;

END LOOP;

--*****************

END LOOP;

END;

/

编译的时候出现

PLS-00302: component 'V_NAME' must be declared

v_new.v_name 不能用,哪位大侠帮我改改呀?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值