Chinaunix首页 | 论坛 | 博客
  • 博客访问: 248817
  • 博文数量: 91
  • 博客积分: 2016
  • 博客等级: 大尉
  • 技术积分: 820
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-08 23:25
文章分类

全部博文(91)

文章存档

2011年(6)

2010年(6)

2009年(34)

2008年(45)

我的朋友

分类:

2008-08-26 23:38:17


最近做项目接触到oracle forms开发,(如果以前用过java或者.net工具的人,再使用这个),真的会感觉这个工具真不好用,除了跟数据库交互比较好,速度快之外.其他的都不咱的.尤其是界面.真的把我整的死......
贤话少说.既然用这个,就得学好吧.毕竟这东西还是ORACLE的产品

下面我来介绍通过创建存储过程创建数据块

1.创建存储过程(建立在forms程序单元里建,别在oracle数据库里建)
  包头: 
   PACKAGE PAK_FOR_BLOCKS IS

    --元素信息
     type Elem_Rec is record(
          unit_name           VARCHAR2(30),--机组名称
          out_weight          NUMBER  --出口重量
          );--记录内容可以自己定义,可以为不同表的内容


    --创建全局数据表类型,用于执行查询
    ------------------------------------------------
    type elemtab is table of Elem_Rec index by binary_integer;
   
    --创建数据查询程序包,用于前台Execute_Query
    ------------------------------------------------

    --元素信息
    PROCEDURE Elem_Query(Elem_Data IN OUT elemtab);--此参数必须为in out
   END;

 包体:
   PACKAGE BODY PAK_FOR_BLOCKS IS
  --------查询
  PROCEDURE Elem_Query(Elem_Data in out elemtab) IS
 
    v_count NUMBER;
    i       NUMBER :=1;
 
    CURSOR cur_tvpp IS
      SELECT t.unit_name, sum(t.out_weight) out_weight
        FROM vtpp_stat_prod t
       GROUP BY t.unit_name;
  BEGIN
 
    OPEN cur_tvpp;
    LOOP
      FETCH cur_tvpp
        INTO elem_data(i).unit_name, elem_data(i).out_weight;
      EXIT WHEN cur_tvpp%NOTFOUND;   
      i :=i+1;
    END LOOP;
    CLOSE cur_tvpp;
 
  END Elem_Query;

END;

2:再通过选择创建数据块.依步骤选择存储过程.填上存储过程名.

3.创建成功.根据自己的需要设置块的属性


阅读(821) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~