技术开发 频道

为DB2 XML数据开发Java应用程序

    查询构建器

    如果您需要为应用程序编写查询,Developer Workbench 提供生成 SQL/XML 和 XQueries 的向导。因为大多数 Java 程序员编写需要参数标志符的应用程序,所以他们经常使用 SQL/XML。本节逐步介绍了一个简要的例子,讲述如何使用 SQL 查询构建器来生成一个类似于 清单 8 中包含的 SQL/XML 语句。

    要生成 SQL/XML 语句,执行以下步骤:

    准备好工作区。
    指定查询的特征。
    执行查询。
    下面依次详细介绍这三个步骤。

    准备工作区

    SQL 语句是作为可从工作区的 Data 透视图访问的 “Data 项目” 的一部分创建的。要创建这样的项目,请执行以下步骤:

    打开 Data 透视图。选择 Window > Open Perspective > Other > Data。
    创建到目标数据库的连接。在左下角的 Database Explorer 窗格中右击。选择 New Connection 并指定您的数据库名、用户名和密码。
    创建一个新的 Data 项目。在左上角的 Data Project Explorer 窗格中右击。选择 New > Project > Data > Data Development Project。当出现提示时,给项目命名,并给它分配您刚才创建的数据库连接。
    打开数据库连接并创建了 Data 项目之后,就可以开始构建查询了。

    构建查询

    为了保持本教程的简单性,创建一个 SQL/XML 语句返回具有某个状态的客户的主电子邮件地址。查询类似于下面的代码:

    清单 17. 示例 SQL/XML 查询

SELECT name, xmlquery('$c/Client/email[1]' passing contactinfo as "c") from clients where status = ?

    执行以下步骤生成查询:

    启动 SQL Builder。在 Data 项目中,高亮显示 SQL Scripts 文件夹并右击鼠标。选择 New > SQL Statement。当出现提示时,接受默认的项目名称,并为 SQL 语句指定一个名称。接受默认的语句类型 (SELECT) 并选择使用 SQL 构建器。单击 Finish。
    指定查询的表。在中央窗格中右击并选择 Add Table。展开 schema 文件夹并选择 "clients" 表。
    指定感兴趣的列。对于本例来说,您需要在结果集中包含一个列和一个函数 (XMLQuery) 的输出。为此,需完成以下步骤:
    检查显示在中央窗格的 "names" 列。
    单击显示在中央窗格下面的 Column 选项卡中的第一行。单击该单元格的最右端以显示一个箭头键并选择 Build Expression。按 Enter。
    从显示的菜单中选择 Function。
    选择 XML 作为函数编目和 XMLQuery 作为函数。在 Parameter Value 1 旁边,单击 Value 单元格中的箭头并选择 Edit Expression。
    在 String Constant Builder 中指定适当的路径表达式 $c/Client/email[1],并单击 Finish 两次。
    更改生成的 SQL 语句以在 XQuery 函数中包括一个 PASSING 子句。最后的 XQuery 函数应该读作:'$c/Client/email[1]' passing contactinfo as "c"
    指定查询谓词(WHERE 子句)。对本例来说,您需要为关系列添加一个查询谓词。
    在 Conditions 选项卡下的 SQL/XML 语句下,单击显示在 Column 选项卡中的第一行。单击该单元格最右端的箭头键并选择 status 列。
    单击 Operator 单元格并选择等号 ("=") 操作符。
    单击 Value 单元格最右端的箭头键并选择 Build Expression。按 Enter。
    选择 Constant,然后在出现提示时选择 String Constant。
    为用户输入(比如 "status")指定一个主机变量名。单击 Finish。

0
相关文章