これは奇妙なことですが、誰かがこの機能が間違っているかもしれないと指摘してくれます。 は私がpostgresの移行エラー。終わりのない引用符付きの文字列
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
と同様の機能を持っている私はpgAdminでのSQLコンソールで直接それを実行すると、エラーがないが、私はエラーを取得DB-移行のmaven-プラグインを使用して移行スクリプトでそれを実行しています。
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
申し訳ありません、今同じ問題に直面しています。あなたはそれを修正する方法を見つけましたか? –
長い関数をまとめて書くことは避けました。これは移行ソフトウェア(carbonfive)の問題です。 オープンソースなので少し変更を加えることを考えましたが、時間がありませんでした。 – ivanorone
Redshift JDBCドライバを使用するAqua Data Studioを使用して、同様のエラーメッセージが表示されます。私の場合、修正は「オプション」に行き、「チェックしない」ことでした。ステートメントセパレータ '。パーサーは、最初のセミコロンが関数定義全体の終わりであり、まだ$$が終わっていないことを前提としていたようです。 私のシステム(バージョン9.5)で、そのボックスがチェックされていない場合、あなたのサンプル関数はエラーなしで作成されました。とともに ';私は同じエラーが発生しました。 希望に役立ちます。 – Jason