我正在尝试使用H2内存数据库为java应用程序编写一些功能测试。因为我们使用Oracle作为生产数据库,所以一些代码是用PL/SQL编写的。所以我打开了Oracle兼容模式,现在我的url看起来像这样:jdbc:h2:mem:test;模式=Oracle
。
我遇到问题的实际应用程序代码如下所示(注意,序列和表都是在调用之前创建的):
CallableStatement = con.prepareCall(
" begin insert into profiles(" + PROFILE_FIELDS + ") " +
" values (sq_profiles.nextval, ?, ?, ?, ?, ?) " +
" returning profile_id into ?; end;");
它失败了,错误与我为测试begin而编写的示例代码相同。。。结束
行为:
Connection con = connectionProvider.getConnection()
con.prepareStatement("CREATE TABLE test (id INT NOT NULL)").execute()
con.prepareStatement("INSERT INTO test SELECT 1 FROM dual").execute()
con.prepareStatement("BEGIN INSERT INTO test SELECT 2 FROM dual; END;").execute()
我得到的错误是:
Syntax error in SQL statement "BEGIN INSERT[*] INTO TEST SELECT 2 FROM DUAL; END; "; SQL statement:
BEGIN INSERT INTO test SELECT 2 FROM dual; END; [42000-167]
所以我的问题是:
begin。。。结束
H2支持的块?如果是,上面的代码可能有什么问题?
谢谢
不,H2 Oracle兼容模式并不意味着支持这样的PL/SQL。正如H2文档中所述,Oracle兼容性模式带来以下好处:
nosql数据库具有无模式属性,因此我们可以向节点或关系添加任何字段/属性。但是如果我使用Spring数据作为框架,我必须预先定义节点和关系对象的字段。Spring数据Neo4j似乎不支持动态插入字段...是真的吗?
问题内容: 我有一个定义元素和属性默认值的架构。我正在尝试使用基于该架构的JAXB解析文档,但是JAXB没有设置默认值。关于如何使JAXB接受模式中的默认值的任何想法? example.xsd: example1.xml TestParser.java RootElement.java ChildEl.java 问题答案: 元素默认值 要获取element属性的默认值,您需要对其进行如下注释: 属
从python语言的API文档中,我找不到任何关于graph x的东西,这是否意味着它还不支持,如果现在不支持,它会支持吗?
我在查阅Spring Data Elasticsearch store的文档时,遇到了以下问题: 有关反应性支持的更多详细信息,请参阅特定于存储的留档。 虽然我已经在elasticsearch商店留档中,但我没有找到任何关于反应性支持的进一步信息。我在哪里可以找到关于这方面的进一步信息?
问题内容: 我搜索了Google,发现了一些矛盾之处。xlwt是否支持xlsx文件(MS Office 2007)。我听说xlwt 0.7.4支持xlsx文件。有谁尝试过使用xlwt 0.7.4编写xlsx文件 这个问题的目的是,如果我需要安装,我没有安装库的权限,我需要提供更多详细信息。我需要用python编写xlsx文件,所以如果有人做过类似的事情将有助于提供更好的信息 我已经查看了这个Wik
相机是否支持HDR模式的采集