免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1377 | 回复: 3
打印 上一主题 下一主题

谁帮我瞧瞧这个存储过程啊,谢谢啦!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-04-22 16:29 |只看该作者 |倒序浏览
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 (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

我写的存储过程如下:

  1. /* Formatted on 2004/04/22 16:04 (Formatter Plus v4.8.0) */
  2. CREATE OR REPLACE PROCEDURE test_change (starttime DATE)
  3. AS
  4.    v_check   NUMBER;
  5.    v_name    VARCHAR2 (10);

  6.    CURSOR v_colname
  7.    IS
  8.       SELECT COL
  9.         FROM AA;

  10.    CURSOR v_curnew
  11.    IS
  12.       SELECT *
  13.         FROM A
  14.        WHERE TYPE = 2;
  15. BEGIN
  16.    FOR v_new IN v_curnew
  17.    LOOP
  18. --*************
  19.       FOR v_col IN v_colname
  20.       LOOP
  21.          v_name := v_col.COL;

  22.          SELECT v_col.COL
  23.            INTO v_check
  24.            FROM A
  25.           WHERE TYPE = 1 AND ID = v_new.ID;

  26.          IF v_new.v_name <>; v_check
  27.          THEN
  28.             INSERT INTO aaa
  29.                         (ne_id, old_value, now_value, modify_item,
  30.                          TYPE
  31.                         )
  32.                  VALUES (v_new.id, v_check, v_new.v_name, v_col.COL,
  33.                          v_new.TYPE
  34.                         );
  35.          END IF;
  36.       END LOOP;
  37. --*****************
  38.    END LOOP;
  39. END;
  40. /

复制代码

编译的时候出现
PLS-00302: component 'V_NAME' must be declared

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

论坛徽章:
0
2 [报告]
发表于 2004-04-22 19:36 |只看该作者

谁帮我瞧瞧这个存储过程啊,谢谢啦!!

没有人看看么? 是不是我说的不清楚? 自己up一下

论坛徽章:
0
3 [报告]
发表于 2004-04-23 08:32 |只看该作者

谁帮我瞧瞧这个存储过程啊,谢谢啦!!

你的v_curnew 表示的是表a

表a根本就没有v_name字段,错误出在

IF v_new.v_name <>; v_check
e

论坛徽章:
0
4 [报告]
发表于 2004-04-26 20:49 |只看该作者

谁帮我瞧瞧这个存储过程啊,谢谢啦!!

靠,真有人认真看。看来世界上还是好人多
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP