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

入れ子になったテーブルを作成し、内部テーブルにのみデータを挿入します

    あなたは使用することができます 新しい値を古いリストに追加します (または、存在しない場合は新しいリストを作成します)。

    Oracle 11g R2 スキーマのセットアップ :

    CREATE OR REPLACE TYPE給与リストを数字のテーブルとして;/テーブルの従業員を作成します( id NUMBER, 給与の履歴給与リスト) ネストされたテーブルの給与_履歴は、給与_履歴タブに格納/従業員の値に挿入します ( 1, NULL )/  

    クエリ 1 :

    UPDATE employeesSET 給与履歴 =COALESCE( 給与履歴、給与リスト() ) MULTISET UNION ALL 給与リスト( 500 )WHERE id =1SELECT * FROM 従業員  

    結果 :

    <プレ>| ID | SALARY_HISTORY ||----|----------------|| 1 | 500 |

    クエリ 2 :

    UPDATE employeesSET 給与履歴 =COALESCE( 給与履歴、給与リスト() ) MULTISET UNION ALL 給与リスト( 700 )WHERE id =1SELECT * FROM 従業員  

    結果 :

    <プレ>| ID | SALARY_HISTORY ||----|----------------|| 1 | 500,700 |

    クエリ 3 :

    UPDATE employeesSET 給与履歴 =COALESCE( 給与履歴、給与リスト() ) MULTISET UNION ALL 給与リスト( 500 )WHERE id =1SELECT * FROM 従業員  

    結果 :

    <プレ>| ID | SALARY_HISTORY ||----|----------------|| 1 | 500,700,500 |

    1. AWS-Postgresサーバーをherokuホスティングを使用したスプリングブートアプリケーションに接続できない

    2. postgresqlとcodeigniterを接続する

    3. SQLServerデータベースにすべてのストアドプロシージャを一覧表示する3つの方法

    4. 6000万エントリ、特定の月からのエントリを選択します。データベースを最適化する方法は?