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

パイプライン化されたPL/SQL表関数内でSELECTを使用することは許可されていますか?

    1. 通常、DML制限は変更(UPDATE、DELETE ...)ステートメントにのみ関係するため、SELECTはOKである必要があります。 Oracleから特定のステートメントを見つけようとします。

    2. ビューは、一般的に使用されるクエリをモジュール化するための最初のツールになります。

    3. 関数にはビューに比べて欠点があります。別のSELECTから呼び出された場合、メインのSELECTと同じ時点で実行されません。 SELECTの各呼び出しには一貫性がありますが、SELECTは関数コードにあり、メインSQLにはないため、一貫性のない結果が返される場合があります。これは、ビューと副選択では不可能です。大きなステートメントがビューを呼び出すと、ビューはメインクエリと同じ時点で作成されます。

    更新 :パラメータ化されたクエリに関するコメントについて

    パラメータ化されたビュー、つまり実行前に設定された変数に依存するビューを作成できます。 これは、AskTomの例です。 userenv('client_info')を使用してそれを行う方法を示します またはdbms_session.set_context




    1. 大規模なクエリ後にpsycopg2がメモリリークしている

    2. PHP7.0ODBC-Windows用ドライバー

    3. LINQ-to-SQLは、データベースのデフォルト値が使用されるように、挿入時に指定されていない列を省略できますか?

    4. Javaを使用してPostgreSQLデータベースの既存のデータベースから新しいXMLファイルを作成するにはどうすればよいですか?