如何使用H2数据库创建存储过程?

2024-01-18

有人尝试过使用 H2 数据库创建存储过程吗?


要在 Java 函数中访问数据库,您确实需要连接。对于H2,有两种方式获得这样的连接:

解决方案1:如果Java函数的第一个参数是ajava.sql.Connection,然后数据库提供连接。对于 SQL,这是一个“隐藏”参数,这意味着您不能也不需要显式设置它。这是有记录的:用户定义函数和存储过程 http://www.h2database.com/html/features.html#user_defined_functions,“需要连接的功能”。例子:

CREATE ALIAS QUERY AS $$
ResultSet query(Connection conn, String sql) throws SQLException {
    return conn.createStatement().executeQuery(sql);
} $$;
CALL QUERY('SELECT * FROM DUAL');

解决方案2:为了与 Apache Derby 和 Oracle 兼容,您可以使用以下命令在 Java 函数中打开新连接DriverManager.getConnection("jdbc:default:connection")。此功能在 H2 版本 1.3.151 及更高版本中可用,默认情况下处于禁用状态。要启用它,请附加;DEFAULT_CONNECTION=TRUE 到数据库 URL http://www.h2database.com/javadoc/org/h2/constant/DbSettings.html#DEFAULT_CONNECTION。这是一个有问题的功能,因为如果在 H2 驱动程序之前加载,Oracle JDBC 驱动程序将尝试解析此数据库 URL。因此,如果加载了 Oracle 驱动程序,基本上您将无法使用该功能(我认为这是 Oracle 驱动程序中的一个错误)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用H2数据库创建存储过程? 的相关文章

  • Rails has_many 到 has_many 具有多个模型

    模拟以下情况的最佳方法是什么 Word belongs to wordable polymorphic gt true Phrase has many words as gt workable belongs to story Line h
  • 如何选择从数据集中进入数据表的列?

    作为数据工作的新手 我希望我能正确地提出这个问题 如何选择从数据集中进入数据表的列 我知道我可以使用 填充数据表 DataTable table dataSet1 Tables 0 但这会引入所有列 如何仅使用某些列填充数据表 我正在使用
  • 在SQLDatasource中使用存储过程时,Gridview不显示

    我以前偶然发现过这个问题 我知道这是一个常见问题 一个相关的问题是网格视图为空 https stackoverflow com q 5596451 777982 但这并不能解决我的问题 理想情况下 我想要的是当我单击 查找 按钮时根据文本框
  • 在静态类中存储连接 (ASP.NET)

    由于我使用的是 Postgresql 并且无法使用 LINQ to SQL 因此我编写了自己的包装器类 这是学生课程的一部分 public class Student User private static NpgsqlConnection
  • 更改列名称 Rails

    我有这张表 class CreateShoes lt ActiveRecord Migration def change create table shoes do t t string name t boolean leather t i
  • 如何使用 aerospike 加载器在 aerospike 中加载嵌套的 csv 文件?

    我已将 JSON 文件转换为 CSV 格式 现在使用 aerospike 加载器将 CSV 加载到 Aerospike 中 我可以为简单的结构执行此操作 但如何修改 allDatatype json 的内容以在 Aerospike 中加载嵌
  • BIT(1) 的存储大小是多少?

    我一直认为a的存储大小BIT 1 列为 1 位 But http dev mysql com doc refman 5 6 en storage requirements html http dev mysql com doc refman
  • 使用 mongoose 更新 mongoDb 中数组内的对象[重复]

    这个问题在这里已经有答案了 我正在 MongoDB 上工作 以更新 MongoDB 集合中数组内部的对象值 我的收藏就像 id ObjectId 59b7e839200a5c00ee2d2851 player New playesList
  • 在 Python 中打开 Alteryx .yxdb 文件?

    有没有办法将 yxdb Alteryx 数据库文件 导入到 Pandas Python 中 而不使用 Alteryx 作为中间人 简短的回答是否定的 目前还不行 更长的答案 yxdb 支持的原始 C 是可以在 github 上找到 http
  • 猫鼬查找并删除

    我正在尝试删除满足查询的多个文档 但是 我需要这些文档的数据将它们存储在单独的集合中以实现撤消功能 我让它工作的唯一方法是使用多个查询 Data find query exec function err data Data remove q
  • SQL Server 存储过程对象名称无效

    我在尝试修改现有存储过程时收到此错误 Invalid object name dbo BackupDB 我能够创建此存储过程 但是当我单击修改选项来修改此存储过程时 系统显示了上述错误 您会看到所附图片 当尝试执行此命令时 我也遇到同样的错
  • 每次都在django查询数据库中过滤查询集吗?

    想象一下我有以下代码 qs Users objects all list for i in range 10 list append qs filter age i 这里过滤器被调用 10 次 它是连接到数据库 10 次还是第一次使用过滤器
  • 存储过程函数中的动态表名

    我编写了一个存储过程函数来从表中获取名称 问题是我希望将表名作为参数传入 有几个不同的表我需要使用此函数 DELIMITER CREATE DEFINER root localhost FUNCTION getName tableName
  • MSSQL:如何使用代码编写存储过程创建脚本?

    我正在尝试使用一个数据库中存在但另一个数据库中不存在的 information schema routines 查询存储过程定义列表 SELECT t1 Routine Definition FROM server1 MyDatabase
  • 无法从 Web 主机本身以外的任何地方连接到任何 Web 主机的 MySQL 数据库

    我有 2 个不同的虚拟主机 pagodabox 000webhost 都是免费的 并且我已经设置了localhost与MySQL 我已经在他们三个上安装了 wordpress 它们在自己的域中工作得很好 即 什么时候localhostwor
  • 版本控制存储过程/PLSQL?

    有没有一种有效的方法来对用 PL SQL 编写的存储过程进行版本控制 我只提到 PL SQL 因为可能存在特定的工具 任何针对存储过程版本控制的答案都是理想的 在我目前的工作中 团队现在使用以下方法对PL SQL进行版本控制 编译PL SQ
  • 如何将变量设置为触发器 MYSQL 内存储过程的结果?

    我这里有一个小问题 我正在为我的数据库工作创建一个触发器 但我不知道如何在触发器内使用存储过程 我想将过程的结果保存在变量中 然后使用稍后在 IF 比较器上变量 这是我的代码 DELIMITER CREATE TRIGGER insert
  • 关于 Cassandra 与 MySQL 的一些建议

    几天前我在这里问了一个问题 得到了一些非常好的答案 我正在考虑做一个带有个人资料 个人简介等的facebook风格的网站 并询问我是否应该使用mysql 答案是使用Cassandra 因为好多了 我只是问这是每个人都会建议的 只是我对mys
  • 调整 Oracle 数据库以加快启动速度(闪回)

    我正在使用 Oracle 数据库 11 2 我有一个场景 我发出FLASHBACK DATABASE经常 似乎有一个FLASHBACK DATABASECycle 会重新启动数据库实例 大约需要 1 分钟 我的设置花了 7 秒 数据库很小
  • 在数据库中存储类型时的最大 MIMEType 长度

    人们在数据库中使用什么作为 MIMEType 字段的长度 到目前为止我们看到的最长的是 72 字节 application vnd openxmlformats officedocument wordprocessingml documen

随机推荐

  • ngAnimate 1.4.7单元测试不调用动画函数

    我一直在工作本教程 http www sitepoint com angularjs testing tips bootstrap blocks routes events animations 并在谷歌上进行了令人作呕的搜索 但我似乎无法
  • 如何搜索多个pdf文件的内容?

    如何在目录 子目录中搜索 PDF 文件的内容 我正在寻找一些命令行工具 看起来grep无法搜索 PDF 文件 有pdfgrep http pdfgrep org 正如它的名字所暗示的那样 pdfgrep R a pattern to sea
  • Python 截图 2+ 显示器(windows)

    如果连接到多个显示器 如何使用 python 进行屏幕截图 I tried import sys from PyQt4 QtGui import QPixmap QApplication app QApplication sys argv
  • 调整 NSWindow 大小以适合子 NSView

    我有一个空的主 NSWindow 和 5 个 NSView NSView 有不同的按钮和标签等 并且窗口是空的 显示的第一个视图是一个菜单 链接到其他视图并返回 这工作正常并且视图切换得很好 但是 如果 NSWindow 具有一定大小 并且
  • 从 HTML 输入返回应用程序脚本中的数据

    我正在尝试使用 HTMLService 从 google 电子表格启动 html 表单 并将数据从选择输入返回到脚本 我正在用这一行收集数据 但我不确定如何将其返回到脚本文件 我尝试了以下各种迭代 城市 form Projects list
  • 模拟抛硬币一周?

    这不是家庭作业 我有兴趣在 R 中设置抛硬币的模拟 我想运行该模拟一周 R 中是否有一个函数可以让我在一段时间内 例如一周 启动和停止模拟 如果一切顺利的话 我可能想增加模拟周期的长度 例如 x lt rbinom 10 1 1 2 所以要
  • 一个简单的闰年逻辑问题

    public class LeapYear public static void main String args int year Integer parseInt args 0 boolean isLeapYear divisible
  • Android FirebaseRecyclerAdapter populateViewHolder() 永远不会被调用

    我有一个如下所示的 firebase 数据结构 我正在尝试使用 FirebaseRecyclerAdapter 加载此数据 问题是 populateViewHolder 没有被调用 对数据库结构的引用有效 我可以使用 FriendsRef
  • 无法在未调用 Looper.prepare() 的线程内创建处理程序 [xamarin]

    所以我实际上没有问题 因为我已经解决了它 但如果其他人遇到这个问题 有一个简洁的解决方案总是好的 虽然有很多 Can t create handler inside thread which has not called Looper pr
  • Android 兼容包和 getLoaderManager()

    安卓兼容包 http android developers blogspot com 2011 03 fragments for all html据说支持LoaderManager 如何获取 LoaderManager 的实例 Fragme
  • 如果Python中的单元格包含特定字符,如何为其着色?

    我正在处理一个数据框 来自 Excel 文件 我想格式化单元格 DF具有以下内容 作为示例 a b c 234 gt 500 200 gt 500 0 234 gt 500 400 6 66 34 1 我想将包含 gt 的单元格着色为红色
  • Python 3 - pickle 可以处理大于 4GB 的字节对象吗?

    基于此comment https stackoverflow com a 29704623 1202808以及参考文档 来自 Python 3 4 的 Pickle 4 0 应该能够 pickle 大于 4 GB 的字节对象 但是 在 Ma
  • 如何在 Django REST 框架 ViewSet 子类中使用分页?

    我有一个简单的子类viewsets ViewSet看起来像 from rest framework import viewsets from rest framework response import Response from mode
  • Angular2目标特定路由器出口

    我有一个应用程序 它有一个基本路由器插座 用作整个应用程序的基础 然后是一个子路由器出口 用户登录后使用该子路由器出口来显示由于单击基于基本路由器出口的导航链接而加载的任何组件 我希望在基本模板中单击导航链接时能够定位子路由器出口 当我单击
  • 如何在核心数据中存储 swift 枚举?

    Swift 允许您定义枚举 但核心数据不支持 开箱即用 如何保存它们 我在互联网上看到的推荐解决方案 迄今为止使用过 是使用私有变量 class ManagedObjectSubClass NSManagedObject enum Card
  • 查询数据库中的元组列表

    由于我是Python编程新手 所以我不太了解如何从数据库查询数据 首先 我在 SQL Server 中创建了数据库 其中包含 2 列 String列和Numeric column String Numeric One 1 Five 5 Th
  • 如何创建持久性 cookie 和非持久性 cookie?

    我似乎不知道如何创建持久性 cookie 和非持久性 cookie 例如 它们在发送回的 HTTP 标头方面有何不同 Cookie 有一个隐式或显式设置的到期日期 该日期控制它们的持续时间 取决于用户代理实际执行的情况 cookie 可能仅
  • C# 中的用户定义公式

    我有一个应用程序 用户可以为每个对象指定他自己的测量点 然后 这些测量值将用于将对象分类为 A 需要服务 B 服务应在 X 天内安排 C 不需要 ATM 服务 然而 这些对象几乎可以是任何东西 我们无法硬编码如何将测量值聚合到分类 我们需要
  • 编译器错误:“错误 CS0307:变量 'int' 不能与类型参数一起使用”

    如果我有以下代码 private void Check bool a bool b private void Check int a int b int c bool flag Check a lt b a gt flag c b 10 我
  • 如何使用H2数据库创建存储过程?

    有人尝试过使用 H2 数据库创建存储过程吗 要在 Java 函数中访问数据库 您确实需要连接 对于H2 有两种方式获得这样的连接 解决方案1 如果Java函数的第一个参数是ajava sql Connection 然后数据库提供连接 对于