sql >> データベース >  >> RDS >> PostgreSQL

PostgreSQLとOracle:PL/pgSQLのコンパイル時チェック

    はい、これは既知の問題です。

    PL / pgSQL(SQLを除いて、他の関数と同様) )はPostgreSQLの「ブラックボックス」であるため、実行時以外はエラーを検出することは実際には不可能です。

    あなたはいくつかのことをすることができます:

    1. SQLを呼び出す関数をラップします BEGINへのクエリ / COMMIT エラーをより適切に制御するためのステートメント。
    2. EXCEPTION ブロック エラーをキャッチして追跡するためにコードに追加します。ただし、これは関数のパフォーマンスに影響することに注意してください。
    3. plpgsql_checkを使用します 拡張機能 、PL/pgSQL開発の主要な貢献者の1人であるPavelStěhuleによって開発されました。最終的にこの拡張機能がPostgreSQLのコアになると思いますが、しばらく時間がかかります(現在、9.4beta3状態になっています)。
    4. 次の関連する質問も調べることができます:クエリを実行せずにpostgresql構文チェック

    そして、あなたはユニットテストフレームワークを大いに必要としているように見えます。



    1. ORA-01792:SQLでWITHを使用しているときに、表またはビューの最大列数が1000エラーになります。

    2. SQL Serverで「time」を「datetimeoffset」に変換する(T-SQLの例)

    3. SQLでは、OR付きの括弧の使用はどういう意味ですか?

    4. エラーコード:mysqlの1064