hsqldb - 创建函数 HSQLDB 用户缺少权限或找不到对象
问题描述
我尝试在 hsqldb 中创建一个函数(或例程)来连接字段值,基本上是一个别名,它与具有不同名称和签名的 GROUP_CONCAT 执行相同的操作。
所以我这样写:
CREATE FUNCTION STRING_AGG(field VARCHAR(1000), nothing VARCHAR(1))
RETURNS VARCHAR(10000)
RETURN GROUP_CONCAT(field)
并且它说用户缺乏特权或找不到对象:FIELD 试图查看文档或函数创建的其他线程,但没有找到任何帮助。
解决方案
GROUP_CONCAT 是一个聚合函数,不能在 SELECT 语句之外使用。
正如您的评论所示,HyperSQL 允许您定义新的聚合函数,但它不允许额外的非聚合参数。
由于 STRING_AGG 在 PostgreSQL 和 SQL Server 中使用,该函数现在被 HyperSQL 支持。您需要从 SVN 查看最新的 /trunk 代码并构建 jar(请参阅http://hsqldb.org/doc/guide/building-app.html)。
推荐阅读
- jquery - 在 Angular 6 CLI 项目中使用 jQuery 脚本
- ios - 如何解决 Xcode 10 beta 中的错误“链接器命令失败,退出代码 1(使用 -v 查看调用)”?
- asp.net-mvc - MSBuild web 包没有额外的文件/目录结构
- c# - 如何计算开始坐标和结束坐标之间的坐标 - uwp c#
- visual-studio-code - vscode中的Mypy构建任务失败
- react-native - React Native 样式覆盖数组
- r - 将 SAS 中的 NESTED IF 语句转换为 R
- c# - 取消选择项目时如何停止语音 Windows.Media.SpeechSynthesis
- android - 对话框滞后于视图通胀
- javascript - 向 D3 瀑布图添加多个小计