質問 |
||
| QNo.3611913 | 数値計算結果で更新するUPDATE文の書き方 | |
|---|---|---|
| 質問者:t29x0479 |
下記のようなテーブルに対して、KEKKAフィールドにSIKIの計算結果を入れたいと思っています。 --- 【TABLE_A】 SIKI VARCHAR(16) KEKKA NUMBER(5,2) SIKIには「1+(2*3)-4」といった数値計算式が入っています。 普通にselect 1+(2*3)-4 from dual とすれば返ってくる値をKEKKAに入れたいと思っています。また、SIKIフィールドには同じ値を持つレコードは存在しません。 いい方法があれば、ご教授ねがいます。 |
|
困り度:
|
||
| 質問投稿日時: 07/12/19 19:48 |
||
回答 |
|
| ANo.1 | こんにちは。 functionを使えば良いと思いますよ。 こんな感じで。 ※数式エラーとか一切考慮してません。 CREATE OR REPLACE FUNCTION CALC ( SIKI VARCHAR2 ) RETURN NUMBER IS varSQL_Stmt VARCHAR2(256); numRet NUMBER := 0; BEGIN varSQL_Stmt := 'SELECT ' || SIKI || ' FROM DUAL'; EXECUTE IMMEDIATE varSQL_Stmt INTO numRet; RETURN numRet; END; / SHOW ERROR UPDATE TABLE_A SET KEKKA=CALC(SIKI); |
|---|---|
| 回答者:Jianchen | |
| 種類:回答 どんな人:一般人 自信:参考意見 |
|
| 回答日時: 07/12/20 12:42 |
|
| |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |