Ext JS に関しては,新しい記事は Sunvisor Lab. ExtJS 別館 にあります。そちらもよろしくお願いいたします。
Oracle のViewのソースを取得する
投稿者:sunvisor 投稿日時:2012/01/30(月) 16:42
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 はもっともっと大きくしてもいいのかもしれません。