環境
General Enhancments
SQL Developer 4.1 New FeaturesによるとBy popular demand(よくある要求に対する機能強化)の名目で、Multi-Cursor EditingとSQL Loggingという機能が追加されている。どちらもすげぇ目を引くってわけでなく、知っておくと得をするかも、ぐらいの代物である。
Multi-Cursor Editing
複数個所にカーソルのフォーカスを置いてそこへ同じ文字を入力できる、というもの。これは文章ではわかりにくいので解説ビデオを見たほうが良い。
いま、下みたいなHR.EMPLOYEESを問い合わせるクエリがあったとして、各カラムの頭にもスキーマ+テーブル名のhr.employees.
をつけくわえたい、とする。
CTRL + SHIFT + クリック、を各カラムの先頭にしていくと、以下のように複数個所にカーソルのフォーカスが当たる状態になる。
上記の状態でhr.employees.
と入力すると以下のようになる。
なお、タテだけじゃなくヨコにも複数カーソルを置ける。
SQL Logging
そのログインセッションでデータベースに送信したすべてのステートメントを記録する、というもの。ごくカンタンに言えば、SQL Developerが裏でどんなクエリを出しているのかが見れる。
表示 -> ログ -> ログのビューの下側に小さく表示されている「文*1」のタブを選択、で見ることが出来る。以下は試しに4.1の新機能Instance Viewerを実行した状態でのログ表示。
Instance Viewerを開いた状態だとものすごい勢いでログが流れていく。これを見ていてわかるのはInstance ViewerはV$やGV$にアクセスしまくっているという事実で、その情報を上手いことグラフィカルに表示してくれている、と推測が立てられる。なので、使い方の一つとしてはSQL Developerの機能が裏でどんなクエリ出してるのかを知りたいときに有用なんじゃなかろうか。
Import Data Wizardを使ってみる
従来にもインポート機能はあったが、それが拡張されて使いやすくなっている模様。とりあえず使ってみる。
インポートと同時にテーブルも新規作成したい場合、接続ツリー -> 表 -> 右クリック -> データのインポート を選ぶ。既存テーブルに追加したい場合はそのテーブルを右クリックする。
データ・ファイルのインポートにCSVとかエクセルのファイルパスを入力する。なお、自分の環境だと、「参照」からExcel2003+(xlsx)がなぜか選べないが、「データ・ファイルのインポート」にパスを直接貼り付けてエンター押せば読み込んでくれた。
こんな感じにファイルを読み込んでプレビューが表示される。エンコーディングとかヘッダーとか囲み文字とかを自動で読み込んでくれる。
次にインポート方法とインポート先を選ぶ。
インポート方法それぞれの詳細についてはこちらを参照。「表名」に、インポートするデータを挿入したい新規テーブル名を入力する。なお、既存テーブルにインポートする場合は、当然ここは編集不能。
次にインポートしたい列を選ぶ。
次に各列についてデータ型を決めていく。
型はデータからおおむね正しいものを自動的に選択してくれる。上記のキャプチャは、0.3とか0.42とかのデータから、少数点(NUMBER(4,2))と自動的に判別している。
型に互換性が無いとこんな感じに怒られる。
DATE, TIMESTAMPに関してはインポートデータの書式を入力する。
最後にサマリをチェックして、問題無いなら終了を押す。
表 -> 右クリック -> リフレッシュ、インポートしたテーブルを開いてデータタブを見ると、データが入っているのがわかる。
以前のインポート機能に比べるとだいぶ便利にはなった。CSVからテーブル定義を起こしてくるのは場合によっては便利かもしれない。
ただ、エクセルからコピペできるA5:SQL Mk-2とか、他にもデータを入れるための便利な手段は色々あるので、一番しっくりくるヤツを使うのがいいと思う。
参考リンク
- Oracle SQL Developer New Features in Release 4.1
- A5:SQL Mk-2 - フリーのSQL開発ツール。
- Oracleで適当な件数のテストデータつくる - kagamihogeの日記 -
- SQL Developerからテーブルにデータを入れる - kagamihogeの日記
- SQL Developerのインポート機能でken_all.csvを読み込んでみる - kagamihogeの日記
*1:Statementのことだろうけど訳さないほうが良かったのでは…