11

次のコード行で次のエラーが発生します。

RAISE NOTICE '*** Rolling back job run id ' || CONVERT(varchar, v_job_run_id)
             || ' for table ' || v_table_name || '***';

エラー:

エラー: "|" またはその付近で構文エラーが発生しました 行 43: RAISE NOTICE ' *
ジョブ実行 ID のロールバック ' || CONVERT(変数...

4

1 に答える 1

17

RAISEXXXXステートメントのメッセージ文字列はリテラル定数である必要があります-式はそこでは許可されていません。これは、printfのような関数のフォーマット文字列に似ています。

RAISE NOTICE 'my table has name %', tablename;

2番目の問題は「CONVERT」である必要があります。これはPgではサポートされていません。代わりにCASTを使用するか、何も使用しないでください。RAISEステートメントのパラメーターはすべて自動的にテキストに変換されます。

于 2012-08-10T04:21:07.917 に答える