开发Derby的表功能

Derby 是什么

Derby 是一款基于 Java 的,具有全面事务支持能力的,轻量级的关系型数 据库。 2004 年 IBM 在旧金山的 LinuxWorld 宣布正在将 Cloudscape 作为开 放源代码发布给 Apache Software Foundation (ASF),后者为其建立了一个名 为“ Derby ”的孵化器项目。目前最新的版本是 10.4.2.0 。

Derby 是一个轻量级的数据库。它大概 2M 左右,包括基本的数据库引擎和 内嵌的 JDBC 驱动。

它基于 Java, JDBC 和 SQL 标准。

它提供了内嵌的 JDBC 驱动,使得开发人员可以将 Derby 嵌入基于 Java 的 应用解决方案。

它同时拥有 Derby 客户端 JDBC 驱动和 Derby 服务器,以支持传统意义上 数据库的客户机 / 服务器模式。

它易于安装和使用。

Derby 的表功能(Derby-style table functions)

在一些数据库产品中,也有一些表功能的不同实现。比如 Oracle 的表功能 ,它可以使用 PL/SQL 来产生一个结果集。但由于 Derby 本身是基于 Java 实 现,开发人员可以更方便的使用 Java 语言开发表功能,使得其具有一定的灵活 性。

Derby 的表功能可以将外部数据包装成 Derby 中的表。外部数据可以是 XML 文件,文本文件,其它数据库中的表或一个 RSS 的订阅文件。这些信息源都可 以被表示为一个 JDBC 的结果集 (ResultSet) 。

在开发人员实现表功能过程中,大部分的 ResultSet 中的方法都可以不用实 现,但是一个合法的 Derby-style 的表功能必须实现以下方法。

next()

close()

wasNull()

getXXX() -- 当调用一个 Derby 表功能时,Derby 针对相应的列调用 get***() 方法。所谓的 get***() 方法是基于相应列的数据类型。

Derby 表功能的开发

创建表功能

清单 1. 创建表功能

CREATE FUNCTION externalStudents
  ()
  RETURNS TABLE
  (
  Id INT,
  Name VARCHAR( 50 ),
  )
  LANGUAGE JAVA
  PARAMETER STYLE DERBY_JDBC_RESULT_SET
  READS SQL DATA
  EXTERNAL NAME 'com.test.StudentTable.read'

  public static ResultSet read() {...}

使用表功能

为了调用一个表功能,我们需要将一个 Table 的构造器放入一个查询的 From 字句。需要注意的是,这个表的别名 s 是语法中必须的部分。

INTO students SELECT s.*
  FROM TABLE (externalStudents() ) s;

时间: 2024-08-25 12:18:11

开发Derby的表功能的相关文章

开发保留标准浏览器功能的AJAX应用程序(1)

ajax|标准|程序|浏览器 作者:Mark Schiefelbein出处:bea责任编辑: 方舟 [ 2006-03-15 08:32 ]Ajax应用程序由于其丰富的功能.交互性以及快速的响应能力而得到人们的普遍赞许   Ajax应用程序由于其丰富的功能.交互性以及快速的响应能力而得到人们的普遍赞许.它可以使用XMLHttpRequest对象动态地加载数据,而不是加载新的页面.在它大肆进行宣传以及许多人兴奋的同时,有评论指出,Ajax应用程序丢失了浏览器的一些重要功能,包括对后退前进按钮的支持

开发保留标准浏览器功能的AJAX应用程序(2)

ajax|标准|程序|浏览器 在Ajax中支持后退按钮的基本设计思想 在这一节中,我们将讨论在Ajax应用程序中支持后退按钮所需的基本步骤,并给出说明所需步骤的简单示例代码. 简单示例程序如图1所示,在界面中将有一个选择框,它有两个值:"Year 1"和"Year 2".对于这个程序,我们将在选择框值发生改变时跟踪历史记录.这意味着用户可以首先选择"Year 2"然后单击后退按钮后退到先前的选择. 开发保留标准浏览器功能的AJAX应用程序(2)-

开发保留标准浏览器功能的AJAX应用程序

ajax|标准|程序|浏览器 Ajax应用程序由于其丰富的功能.交互性以及快速的响应能力而得到人们的普遍赞许.它可以使用XMLHttpRequest对象动态地加载数据,而不是加载新的页面. 在它大肆进行宣传以及许多人兴奋的同时,有评论指出,Ajax应用程序丢失了浏览器的一些重要功能,包括对后退前进按钮的支持. 本文将首先阐明为什么在Ajax应用程序中除非显式地构建后退/前进按钮以及其它浏览器功能,否则它们将无法运行的原因.然后,我们将简要介绍开发人员如何解决这些问题.最后,我们将看到有关Back

微信公众平台-微信订阅号开发有万能表单吗

问题描述 微信订阅号开发有万能表单吗 大家好,我想请问一个关于微信订阅号开发的问题:我想在订阅号中制作一个能和用户进行信息交互的表单,网上看到有"万能表单"这种东西,可我在我的开发者模式中没有这个,请问这个是服务号才能使用的功能还是订阅号也有?有的话在哪里能找到呢?希望大家能帮下忙,谢谢各位

微信小程序开发教程第八章:微信小程序分组开发与左滑功能实现

接着上面微信小程序开发教程第八章:微信小程序分组开发与左滑功能实现.(第一二章:微信小程序开发教程,第三四章:微信小程序项目结构以及配置&微信小程序首页面开发,第五章:微信小程序名片夹详情页开发,第六章:「我」的页面开发,第七章:微信小程序编辑名片页面开发) 先来看看今天的整体思路: 进入分组管理页面-->点击新建分组新建 进入到未分组页面基本操作 进入到已建分组里面底部菜单栏操作-->从名片夹中添加进行操作. 理清完基本流程我们开始开发.首先整个布局可以先看下,我再一步步讲. 静态布

开发保留标准浏览器功能的AJAX应用程序(3)

ajax|标准|程序|浏览器 使用碎片标识符,我们可以创建一个"Ajax-URI",其中的客户端部分和服务器端部分使用"#"隔开. JavaScript提供了window.location()函数,以便通过URI更新浏览器的历史记录和地址.此外,我们可以使用window.location.hash()直接访问碎片标识符. 在下面的代码片断中,您可以看到如何通过对选择框使用onchange事件处理程序来扩展我们的代码,该处理程序使用一个"Ajax-URI&q

WPS For Linux Alpha 11新功能:增数据透视表功能

WPS国际社区网站http://wps-community.org/上线了,链接也已集成到国际版WPS的帮助菜单中,欢迎大家访问!关于WPS中文版在线模板无法登陆的问题,主要是由于流程上与轻办公绑定较紧,而Linux版本暂未移植轻办公导致,我们将在下个版本解决登陆问题. WPS For Linux Alpha 11 发行注记 (2013-07-10) 公共 修复命令行下传不完整的文件路径参数导致崩溃的问题 修复文字和演示在多用环境下无法创建多个程序实例的问题 修复无法在不同语言区域下识别字体的别

Excel 2013的推荐数据透视表功能

Excel表格是让很多办公室白领都头痛的软件,不过Excel 2013现在变得很聪明,比如说"推荐数据透视表"功能,Excel会汇总您的数据并提供各种数据透视表选项的预览,让您可以选择其中一种最能体现您的观点的数据透视表,而不必重新另外编写表格. 推荐图表 图文并茂的表格最精美也最难处理,不过Excel 2013加入了"智能推荐图表"功能,会自动为你选定的表格制定不同形式的图表,你需要做的只是从中选择合适的一种即可. 一键发布到社交网络 制作好的Excel图表,可以

如何禁止掉win7电脑中的注册表功能?

  其实使用win7 旗舰版的朋友都知道,咱们解决很多系统中的故障,或者是调出一些功能的时候,都需要进入到注册表编辑器窗口进行操作,但是同时,咱们也不得不意识到,随意的操作注册表中的键值文件,也是存在一定的风险性的,毕竟,注册表是电脑的一个数据库,电脑中所有的数据都是由它在管理,一旦什么地方的操作出现错误,咱们就需要对此付出沉痛的代价.所以下面,小编就来告诉大家,在win7 旗舰版中,咱们如何禁止注册表功能. 1.首先,咱们同时按下键盘上的win+R快捷键打开电脑的运行窗口,然后在窗口中输入代码