VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。
基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。
SQL*PLUSもどきを作る その1
SQL*PLUSもどきを作る その2
SQL*PLUSもどきを作る その3
の続きです。
SQL*PLUSのdescコマンドです。
describeコマンドを表現する関数を下記のように作ってみました。
desc.ps1#================================================================================================ |
使用方法はSQL*PLUSのdescコマンドと一緒で desc テーブル名/ビュー名 とします。
List1
|
一応 More コマンドも使用可能で
List2PS > desc emp | more |
と入力して1ページずつの表示も可能です。
リダイレクトも可能で
List3PS > desc emp > C:\Work\emp.txt |
のようにすると 出力結果をC:\Work\emp.txtに作成します。
開発ポイントですが
descコマンドを実現するために、情報を ALL_TAB_COLUMNS から取得する。
結果の出力にformat-tableコマンドレットを使用する。
といったところでしょうか。出力をどうするかかなり悩みました。DataReaderで1行ずつ取得するとテキストの整形(列ごとにきれいに表示させる)処理を書く必要が出てくるためどうしたものかと考えていましたが、パイプでformat-tableコマンドレットへデータを渡したところきれいに表示されました。
見ていただけばわかるように、データセットにあるテーブルの行を丸投げしているだけです。
PowerShellってこういうところが非常によくできていますね。改めてすばらしいツールだと思いました。