• 締切済み

数値計算結果で更新するUPDATE文の書き方

下記のようなテーブルに対して、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フィールドには同じ値を持つレコードは存在しません。 いい方法があれば、ご教授ねがいます。

みんなの回答

noname#87380
noname#87380
回答No.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);

すると、全ての回答が全文表示されます。

関連するQ&A