iva*_*one 5 java postgresql database-migration maven-3
嗯,这很奇怪,任何人都可以帮我指出这个功能可能出错的地方.我有一个类似的功能
CREATE FUNCTION check_password(uname TEXT, pass TEXT)
RETURNS BOOLEAN AS $$
DECLARE passed BOOLEAN;
BEGIN
SELECT (pwd = $2) INTO passed
FROM pwds
WHERE username = $1;
RETURN passed;
END;
$$ LANGUAGE plpgsql
Run Code Online (Sandbox Code Playgroud)
当我直接在pgAdmin sql控制台中运行它时,没有错误,但使用db-migration-maven-plugin在迁移脚本中运行它我得到了错误.
Error executing: CREATE FUNCTION check_password(uname TEXT, pass TEXT)
RETURNS BOOLEAN AS $$ DECLARE passed BOOLEAN
org.postgresql.util.PSQLException: ERROR: unterminated dollar-quoted
string at or near "$$ DECLARE passed BOOLEAN"
Position: 74
Run Code Online (Sandbox Code Playgroud)
迁移脚本生成的 SQL 中可能包含某种$$
引号,这些引号会在某处解释为字符串。
一个快速而肮脏的修复可能是更改$$
为$func$
或$check_password$
,尽管可能还有其他函数遇到同样的问题。
更好、更长远的方法是找到违规者$$
。
归档时间: |
|
查看次数: |
5480 次 |
最近记录: |