Kil*_*ian 2 java h2 user-defined-functions
我的目标是在 h2 中注册一个用户定义的函数。我第二次执行程序时出现错误,指出我的函数别名已经存在。
stmt.execute("CREATE ALIAS LEVENSHTEIN FOR
\"modules.musicProvider.LocalNetworkMusicProvider.computeLevenshteinDistance\"");
Run Code Online (Sandbox Code Playgroud)
在查看了 INFORMATION_SCHEMA 之后,我找不到一种方法来预先检查函数是否已经定义。
我知道这是一个老问题,但是当我今天在用户定义函数的这个确切领域使用 H2 时,我想我会回答这个问题。
一种选择是ALIAS在创建之前始终删除它:
DROP ALIAS IF EXISTS LEVENSHTEIN;
Run Code Online (Sandbox Code Playgroud)
我从这个 StackOverflow 问题中得到了这个信息。
另一个选项是如果别名已经存在,则不创建别名:
CREATE ALIAS IF NOT EXISTS LEVENSHTEIN ...
Run Code Online (Sandbox Code Playgroud)
我从这个 StackOverflow 问题和H2 文档中得到了这个金块。
最后,您还可以执行此查询以查看是否ALIAS存在:
SELECT EXISTS(SELECT * FROM INFORMATION_SCHEMA.FUNCTION_ALIASES WHERE ALIAS_NAME = 'LEVENSHTEIN')
Run Code Online (Sandbox Code Playgroud)
我从这个 StackOverflow question获得了这个查询的基础知识。
| 归档时间: |
|
| 查看次数: |
1451 次 |
| 最近记录: |