PL/SQLの開発環境その2

PL/SQLの文法をそれとなくわかり始めてきたので,もちょっと評価してみたよ。
何のアシストも無い状態でコードなんて組めるかー。不慣れな言語ゆえに手厚いアシストを期待するナリ。:-P


試してみたことは,

  • インラインのSQL文のアシスト
    • FROM句のテーブル名に補完が効くか?
    • (テーブル名が確定した後で)SELECT句のフィールド名に補完が効くか?
  • 変数名のアシスト
    • 特にカーソルのループ変数で,属性名の補完が効くかどうか。


PL/SQL Developer

テーブル名の補完 フィールド名の補完 カーソル属性の補完
×

今回試した中で唯一,カーソルのループ変数の補完ができたのはこいつ。


そのくせ,フィールド名の補完は効かなかった(なんでや?)。:-(


テーブルの補完はおk


ただ,PL/SQL Developer全般に言えるんだが,コードアシストは「.,(」の直後が発動条件のようで直前の文字がスペースの場合は,数文字タイプした後でF6を押さないと補完が効かないという,ちょっとした煩わしさがある。
#イマドキ,コード補完のトリガがF6ってのも大したモンだ。フツーCtrl+SPACEでしょ。:-P


OraDeveloper

テーブル名の補完 フィールド名の補完 カーソル属性の補完
×

大体出来たのに,カーソルのループ変数の補完ができなかった。

下図の通りテーブルの補完もフィールドの補完もそつなくできてるだけに,実に惜しい。

テーブル名の補完

フィールド名の補完(反応がない)


欠点と言うほど致命的じゃないが,補完に出てくる候補はコンテキストに関わりなく何でも出てくるのが,ちょっとアレだった。それよりは,DBMS_OUTPUT.PUT_LINE()がどこに出力されるのか,よくわからんかったのが問題かも。
#Outputビューには出てないんだよね。:-(


JDeveloper
商用ツールばっか評価してても買えなきゃしょうがないので,一応JDeveloperも試してみたよ。

テーブル名の補完 フィールド名の補完 カーソル属性の補完
× ×

結果はなんとなく予想できたが,ご覧の通りあんまりやる気が感じられない結果だった(まあ,こんなもんか)。
一応できたのは,テーブル名の補完だけ。


他はこんな感じ。せっかくスクリーンショット取ったから載せておく。

フィールド名の補完(テーブルと同じ結果になる)

カーソルのループ変数の補完(反応がない)


ここまでのまとめ
なんだかんだで,PL/SQL Developerの完成度は高い。ただ,UIがちょい古くさくて,イマイチ「使ってみたいっ!!」っていう魅力に欠ける(UIのデキではOraDeveloperのほうが好み)。
あとは値段が倍近く違うので,そこら辺も評価のポイントになるだろう。当然「そんな余裕無いからツール買うな」という結末もあるだろうし。


ただ,数万程度の出費で,生産性---というより如何に気分良く開発できるか,が改善されるのであれば安い買い物だと思う。
値段的には1回東京に出張するくらいだしね。


ps.
PL/SQL Developer,OraDeveloper,JDeveloper共にカーソルのループ変数そのものはコード補完できなかったよ。

FOR emp_rec IN emp_cur LOOP
   /~~~~~~~
こいつが補完候補に出てこない。