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

テーブル名をパラメータとしてストアドプロシージャに渡す方法は?

    %ROWTYPEを作成することはできません 不明なテーブルの変数であり、コンパイル時にテーブル名がわからない場合、列名を静的に参照することはできません。

    dbms_sqlパッケージを使用して、完全に動的なSQLステートメントを処理できます。 SQLステートメントを準備し、列の数とそのデータ型を確認するために列を記述し、適切な変数をバインドしてから、データをフェッチする必要があります。投稿した例よりもはるかに面倒なコードの記述方法ですが、非常に柔軟性があります。

    リンク先のドキュメントには、dbms_sqlパッケージの使用例がいくつかあります。 UTL_FILEを使用して任意のクエリの結果をCSVファイルに書き込むTomKyteのdump_csv関数を確認することもできます。 。本当にデータをDBMS_OUTPUTに書き込みたい場合 、UTL_FILEを簡単に置き換えることができます DBMS_OUTPUTを使用した呼び出し 。ただし、データをDBMS_OUTPUTに書き込むだけでなく、もっと便利なことをしたいと思っていることは間違いありません。 バッファリングするので、トムの手順はおそらくあなたが実際に達成しようとしていることに近いでしょう。




    1. ゆっくりと変化する寸法(SCD)の概要

    2. Php-PHPのインストールにWordPressに必要なMySQL拡張機能がないようです

    3. MySQLに挿入された複数の行のIDを取得するにはどうすればよいですか?

    4. MariaDBと外部データ