WEB开发网
开发学院数据库Oracle Oracle组件实现动态Web数据库 阅读

Oracle组件实现动态Web数据库

 2006-08-04 11:59:00 来源:WEB开发网   
核心提示: Web浏览器 ←→ Internet ←→ Web Server ←→ CGI/API ←→ Oracle DB Server2、 PL/SQLOracle从其版本6开始支持一种过程处理语言PL/SQL,并将其

Web浏览器 ←→ Internet ←→ Web Server ←→ CGI/API ←→ Oracle DB Server

2、 PL/SQL

Oracle从其版本6开始支持一种过程处理语言PL/SQL,并将其作为所有Oracle工具的标准编程语言,从而所有的过程组件在Oracle服务器产品中都能实现。用PL/SQL可以实现下述重要功能:

存储过程,即存放在Oracle数据库中的程序(或代码段)并为你的机构完成特定的重要工作;

数据库触发器,即存放在数据库中的代码,可由应用所产生的事件触发;

程序包,即把多个过程组合在一起当作单个程序单元的代码存放在数据库中。

其中内置程序包是预先生成的,存储在数据库中,且能在PL/SQL代码块中调用的根据需求可以传递参数的程序。它可以完成把结果直接输出到终端窗口;直接从操作系统文件读写数据;执行动态的SQL等多项功能。常用的如HTP,HTF,OWA-UTIL等。下面将通过一个动态的网上查询分数的实例来说明其在动态Web中的应用。

3、 利用WebServer和PL/SQL开发动态Web实例

现有一考生成绩库需在网上向用户提供查询成绩的功能。首先可考虑利用HTP程序包根据用户输入的考生号到数据库中查询相应的信息,返回一个网页。代码如下:

  Create or replace procedure score_into_webpage (code_in in number)
    As
   cursor score_cursor is
   select code,name,score
   from student
   where code = code_in;
   Begin
    Htp.htmlopen;
    Htp.headopen;
    Htp.title ('Student's score information');
    Htp.headclose;
    Htp.bodyopen (cattributes=>'bgcolor = "#80800"');
    Htp.tableopen(border');
    Htp.tablecaption ('Score Information','center');
    Htp.tablerowopen;
    Htp.tableheader (' Student Code');
    Htp.tableheader (' Student Name');
    Htp.tableheader (' Student Score');
--固定地显示页标题、标题、表头等信息,每次调用此页时显示的信息
--是相同的
   Htp.tablerowclose;
   For score_rec in score_cur
   Loop
   --利用游标的For循环为游标在网页中产生一个数据行
   htp.tablerowopen;
   htp.tabledata (score_rec.code);
   htp.tabledata (score_rec.name);
   htp.tabledata (score_rec.score);
   htp.tablerowclose;
   Endloop;
   Htp.tableclose;
   Htp.bodyclose;
   Htp.htmlclose;
   End;

Tags:Oracle 组件 实现

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接