4

テーブル/列を作成するときに、SQL => PostgreSQL で「java if-statement」をどのように使用しますか?

    CREATE TABLE Store(
           Discount INT 
                AS CASE 
         WHEN SOLD_Amount>100000 THEN 2
         WHEN SOLD_Amount>500000 THEN 5
         WHEN SOLD_Amount>1000000 THEN 10
         ELSE 0
     END       
           NOT NULL)

これはおそらく間違っています。コミュニティにこの種のアクションを行う方法を教えてください。

4

2 に答える 2

3

ここで探しているのは、Postgres で直接サポートされていない計算列です。次のように、これをビューに実装できます。

CREATE VIEW someview AS
SELECT SOLD_Amount,
     CASE 
         WHEN SOLD_Amount>100000 THEN 2
         WHEN SOLD_Amount>500000 THEN 5
         WHEN SOLD_Amount>1000000 THEN 10
         ELSE 0
     END As Discount

または、トリガーを使用して、挿入/更新時に列にデータを入力することもできます。

于 2012-12-26T20:19:46.980 に答える