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

SELECT FROMステートメントでテーブルタイプを使用するにはどうすればよいですか?

    SQLでは、(パッケージまたはプロシージャレベルではなく)スキーマレベルで定義されたテーブルタイプのみを使用でき、テーブルごとのインデックス(連想配列)はスキーマレベルで定義できません。つまり、このようにネストされたテーブルを定義する必要があります

    create type exch_row as object (
        currency_cd VARCHAR2(9),
        exch_rt_eur NUMBER,
        exch_rt_usd NUMBER);
    
    create type exch_tbl as table of exch_row;
    

    次に、SQLでTABLE演算子を使用して使用できます。例:

    declare
       l_row     exch_row;
       exch_rt   exch_tbl;
    begin
       l_row := exch_row('PLN', 100, 100);
       exch_rt  := exch_tbl(l_row);
    
       for r in (select i.*
                   from item i, TABLE(exch_rt) rt
                  where i.currency = rt.currency_cd) loop
          -- your code here
       end loop;
    end;
    /
    


    1. MySQLダンプでこれらのコメントを取り除くにはどうすればよいですか?

    2. Geekbench3.2を使用した大規模データベースサーバーのテスト

    3. EasysoftODBCドライバーとODBCINSTライブラリ

    4. パラメータ付きのMySQLストアドプロシージャ