Ext JS に関しては,新しい記事は Sunvisor Lab. ExtJS 別館 にあります。そちらもよろしくお願いいたします。

Oracle のViewのソースを取得する

 OracleのViewのソースを取得しようとしたら、ことのほかはまったのでメモです。

いろいろなクライアントから取得しようと苦労したのですが、最終的にSQL*Plusでやりました。

SQL> set long 20000
SQL> set longc 3000
SQL> set linesize 3000
SQL> set pagesize 0
SQL> set trimspool on
SQL> spool D:¥sql¥view.sql
SQL> select dbms_metadata.get_dll('VIEW', view_name) from user_views;
SQL> spool off

結果から言うと、このような手順でできました。ここにたどり着くまでにはソースの妙な位置に改行が入ったりして、なかなかだめでした。

  • set longはLONG型を読み込むときのバッファの大きさで、これ以上のものはしっぽが切れてしまいます。標準ではかならず尻切れになりますから大きく設定します。
  • set longc と linesize を大きくしておかないと、ソースに改行が入ります。どれくらいのサイズがいいのかはViewのサイズによると思います。
  • pagesizeは0にします
  • trimspool を on にするとうっとおしい空白が消えてくれます。
  • spool で出力結果をファイルにも出すようにします。
  • sql文は単純です。user_viewsのtextでもいいのかもしれませんが....
  • spool off で出力を止めます。

以上で、Viewのソースを取得できます。longc や linesize はもっともっと大きくしてもいいのかもしれません。

トラックバック


URL から "-MoIyadayo" を削除してトラックバックを送信してください。
トラックバックは承認後に表示されます。