備忘録的なblog
2012年6月24日日曜日
Project Euler-Problem14をgroovyで解いてみる
›
問題 正の整数に以下の式で繰り返し生成する数列を定義する。 n → n/2 (n が偶数) n → 3n + 1 (n が奇数) 13からはじめるとこの数列は以下のようになる。 13 → 40 → 20 → 10 → 5 → 16 → 8 → 4 → 2 → 1 13から...
2012年6月17日日曜日
[Oracle]PL/SQLでエラーハンドリング
›
PL/SQLのエラーハンドリングの纏め。 エラーハンドリング方法 エラーハンドリングは、EXCEPTIONブロックで行う。 補足する例外は、when句で指定することができて、名前付き例外を指定したりすることができる。 全ての例外を補足することを意味する「others」は、...
Project Euler-Problem13をgroovyで解いてみる
›
問題 以下の50桁の数字100個の総和の上位10桁を求めよ。 37107287533902102798797998220837590246510135740250 46376937677490009712648124896970078050417018260538 743249...
2012年6月10日日曜日
[Oracle]PL/SQLでエラー発生時にcallStackを取得する
›
DBMS_UTILITY.FORMAT_ERROR_BACKTRACEファンクションを使用すると、PL/SQLのEXCEPTIONブロックでエラー発生時のcallStackを取得できる。 下のコードでは、無名ブロック→hoge1→hoge2の順で呼び出していき、hoge2でエ...
2012年6月9日土曜日
Project Euler-Problem12をgroovyで解いてみる
›
問題 三角数の数列は自然数の和で表わされ、7番目の三角数は 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28 である。 三角数の最初の10項は 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ... となる。 最初の7項について、その約数...
2012年6月7日木曜日
[Oracle]PL/SQLのループでcontinue
›
Oracle11gから、ループ処理内でcontinueが使えるようになったようです。 例えば奇数の場合だけ処理を行うようなループは下のコードのようになります。 begin for i in 1 .. 10 loop continue when mod(i, ...
2012年6月3日日曜日
[Oracle]PL/SQLのカーソルループ
›
取得したデータを単純に処理したい場合(取得結果のレコードをループの外で必要としない場合)は、カーソルループを使うと良い。 ほとんどのケースが、単純にいけるはずなのでこの実装のほうが良い気がする。 コードを見るとわかるが、カーソルのオープンやクローズ、ループの終了条件がないの...
‹
›
ホーム
ウェブ バージョンを表示