iterateを使った時のrules句の評価順序の実験 rules iterate(5)であれば、 処理1 rules句の上から1番目のrule適用を1回 処理2 rules句の上から2番目のrule適用を1回 として、 処理1,処理2,処理1,処理2,処理1,処理2,処理1,処理2,処理1,処理2 の順序で5回繰り返されるようです。 しかし、 Val[any] = 100 のような単純代入を含むケースは、例外でしょうか? ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ select * from (select 1 as soeji,1 as Val from dual) model dimension by(soeji) measures(Val) rules iterate(5)( Val[any] = ITERATION_NUMBER*100, Val[any] = Val[cv()]+7); soeji Val ----- --- 1 407 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ select * from (select 1 as soeji,1 as Val from dual) model dimension by(soeji) measures(Val) rules iterate(5)( Val[any] = Val[cv()]/Val[cv()], Val[any] = Val[cv()]+7); soeji Val ----- --- 1 7 model句11 work変数を用意して正規表現 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ select * from (select 1 as soeji,1 as Val from dual) model dimension by(soeji) measures(Val) rules iterate(5)( Val[any] = 100, Val[any] = Val[cv()]+1); soeji Val ----- --- 1 105 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ select * from (select 1 as soeji,1 as Val from dual) model dimension by(soeji) measures(Val) rules iterate(5)( Val[any] = 100, Val[any] = Val[cv()]+1, Val[any] = 200, Val[any] = Val[cv()]+5); soeji Val ----- --- 1 225