5

私はテーブルを持っています

SALES(sno,comp_name,quantity,costperunit,totalcost)

costperunit値を指定した後、次のtotalcostように計算する必要があります"totalcost=quantity*costperunit".

'quantity'列を掛けて'costperunit'、結果'totalcost'を同じテーブルの列に格納したい。

私はこれを試しました:

insert into SALES(totalcost) select quantity*costperunit as res from SALES

しかし、それは失敗しました!

誰かがこれを達成するのを手伝ってください..事前に感謝します

4

5 に答える 5

6

テーブルを更新してみる

UPDATE SALES SET totalcost=quantity*costperunit
于 2013-07-17T10:09:51.623 に答える
3

アップデートを使用する必要があります。

UPDATE SALES SET totalcost=quantity*costperunit
于 2013-07-17T10:11:36.153 に答える
2

このフィールドを手動で計算するのではなく、代わりに計算列にする方がよいでしょう。そのため、自動的に計算されます。

次のクエリで列を変更できます。

ALTER TABLE Sales
DROP COLUMN totalcost

ALTER TABLE Sales
ADD totalcost AS quantity*costperunit

デモ

于 2013-07-17T10:34:20.693 に答える
1

計算可能なフィールドを格納しないのが最善ですが、必要に応じて、SQL Server を使用して、値が存在する場合にフィールドを自動的に計算するように設定できます。

于 2013-07-17T10:33:47.093 に答える
1

新しい行を挿入しながらこれを試してください

      INSERT INTO test(sno,comp_name,quantity,costperunit,totalcost)
      Values (1,@comp_name,@quantity,@costperunit,@quantity*@costperunit)
于 2013-07-17T10:20:47.877 に答える