2017-03-02 6 views
1

それは本当ですか?ランダムな文字列、数字を挿入します。乗算の結果

ランダムな順序で(USD、EUR、RUB)10000timesになる列 'valname'文字列に対してこのテーブルに挿入します。

第2列 'ammount'
100-2000の乱数を挿入します。 3Dカラム において(10000times)

乗算ammount の結果を表す 'べきである'(IF USD * 69)(場合は、EUR * 72)(場合はRUB * 1.2)例えば

valname = USD, ammount = 100, converted_ammount = 6900; 
valname = EUR, ammount = 100, converted_ammount = 7200; 
valname = RUB, ammount = 100,converted_ammount = 120; 

接続レベル< = 10000;

CREATE table t_test01 ( valname varchar2(5),  
ammount number null, converted_ammount number null --- by multiplication 
    * 69,72,1.2 ) 
+0

http://stackoverflow.com/questions/1568630/generating-random-number-in-each-row-in-oracle-query – Serg

答えて

4
insert into t_test01 
with x as (select case trunc(dbms_random.value*3) 
        when 0 then 'EUR' 
        when 1 then 'USD' 
        else 'RUB' end currency, 
      round(dbms_random.value(100,2000)) ammount 
      from dual connect by rownum<=10000) 
    select currency, ammount, 
     ammount* case currency 
      when 'USD' then 69 
      when 'EUR' then 72 
      else 1.2 end converted_ammount 
    from x; 
+0

はどうもありがとうございまし参照してください。 – vesperkg

関連する問題