从XML(CLOB)类型生成HSQL中的计算(虚拟)列

时间:2016-11-09 10:28:18

标签: java xml oracle xquery hsqldb

我有一个使用 Oracle数据库的应用程序,我正在使用 XML类型列来存储XML数据。 我有一些使用XQuery 的虚拟列来获取XML类型列的特定值并存储它。 它工作正常。

为了更多的理解,让我们想象一下存储媒体内容并拥有TITLE虚拟列的应用程序:

CREATE TABLE MEDIA_OBJECT
(
    ...
    XML XMLTYPE ,
    TITLE AS ( UPPER(XMLCAST(XMLQUERY('/movies/movie/@title' PASSING XML RETURNING CONTENT) AS VARCHAR2(32))) ) VIRTUAL ,
    ...
)

问题是我想使用内存数据库创建单元和集成测试。 我尝试过HSQLDB,一切正常,但我无法运行XQuery从XML类型的列中获取数据。

我的问题是,HSQLDB中怎么可能?如果不可能,是否可以在任何其他免费的内存数据库中使用?

1 个答案:

答案 0 :(得分:0)

使用HSQLDB,您可以使用此界面通过JDBC访问XML对象的内容。

http://www.hsqldb.org/doc/src/org/hsqldb/jdbc/JDBCSQLXML.html