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

Oracle 10gで列の値を計算する方法は?

    10gにはこの機能はありません。代わりに、ビューを使用してください:

    create table ord_tbl
    (
    ord_id number(10) primary key,
    ord_name varchar2(20),
    quantity number(20),
    cost_per_item number(30),
    ord_date date
    );
    
    create view vw_ord_tbl as
        select ord_id, ord_name, quantity, cost_perId, (quantity*cost_per_item) as total_cost, ord_date
        from ord_tbl;
    

    別の方法は、更新と挿入の両方で、トリガーを使用して値を維持するためにテーブルに列を配置することです。トリガーを維持すると多くのメンテナンスオーバーヘッドが追加されるため、ビューを使用することをお勧めします。

    編集(ジェイソンによる):

    11gでは、テーブル定義に仮想列を作成できます。

    create table ord_tbl (
        ord_id number(10) primary key,
        ord_name varchar2(20),
        quantity number(20),
        cost_per_item number(30),
        total_cost as (quantity*cost_per_item),
        ord_date date
    )
    


    1. varchar2の文字をアルファベット順に並べ替えます

    2. SESSION変数を使用してPayPalWebサイト支払い標準を使用したことがある人はいますか?

    3. Pythonのmysqlコネクタを使用してmysqlデータベースからblobを適切に取得する

    4. OLD値がNEW値と等しくなく、OLD値がNULLであったかどうかの検出