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

複数のカーソルからOracleストアドプロシージャから複数の行を返す方法は?

    私の提案は、カーソルからの行を一時テーブルに挿入することです。次に、言及したフィルター基準の既存のテーブルと一時テーブルを結合します。擬似コード:

    関数の作成または置換 my_funcreturn sysrefcursoris カーソル cursor_one は SELECT * FROM table_one です。カーソル cursor_two は SELECT * FROM table_one です。 BEGIN FOR current_row in cursor_one ループ -- 各行で何らかの変更を行い、一時テーブルに挿入してループを終了します。 FOR current_row in cursor_two ループ -- 各行で何らかの変更を行い、一時テーブルに挿入してループを終了します。 -- カーソル 1 と 2 からの結果が一時テーブルに存在する open out_cursor for select t.* from my_temp_table t join my_other_table tt on (t.col1 =tt.col1) -- または、t.col2 ='some criteria で適切な任意の列' -- または任意のフィルター基準。 out_cursor を返します。終わり;   

    1. MySQLで月の名前で注文する方法

    2. Microsoft ODBC for Oracleを使用してOracleデータベースに接続する場合でも、Oracleクライアントをインストールする必要がありますか?

    3. Mysqlの行サイズの変更制限が大きすぎます

    4. ログインしたユーザーがプロファイル設定/情報を更新/編集できるようにする方法