Ext JS に関しては,新しい記事は Sunvisor Lab. ExtJS 別館 にあります。そちらもよろしくお願いいたします。
A5:SQLでOracleのビューのソースを得る
投稿者:sunvisor 投稿日時:2009/12/03(木) 12:37
A5:SQLでOracleのビューのソースを得て,新しいSQLウィンドウに表示させるスクリプトです。
// Oracle ビューのソースを開く var conn = application.dbTree.getSelectedDatabaseConnection(); // ビューの名前と内容を取り出すSQL var sObjName = application.dbTree.getSelectedItemName(); // スキーマ名.テーブル名 var sNames = sObjName.split("\\."); var sTableName = sNames[1]; var sSql = "select VIEW_NAME, TEXT from USER_VIEWS where VIEW_NAME='" + sTableName + "'"; var rsSource = conn.executeQuery(sSql); if(rsSource.getRecordCount() > 0){ var sSql2 = "select * from user_tab_columns where table_name = '" + sTableName + "'"; var rsFields = conn.executeQuery(sSql2); var ssSources = new Strings(); var sFields; var sText = rsSource.getFieldValue("TEXT"); // ビューの内容 ssSources.add("CREATE OR REPLACE VIEW " + sTableName); rsFields.first(); sFields = rsFields.getFieldValue("COLUMN_NAME"); rsFields.next(); while(!rsFields.eof()) { sFields = sFields + "," + rsFields.getFieldValue("COLUMN_NAME"); rsFields.next(); } rsFields.close(); ssSources.add("(" + sFields + ")"); ssSources.add("AS"); ssSources.add(sText); application.newSqlEditor(ssSources.text); }else{ alert("ビューではありません"); }
このスクリプトを script/TreeTBに保存します。データベースツリー上で右クリックからアドオンメニュー > Oracle ビューのソースを開く で実行すると,新しいSQLウィンドウにビューのソース(CREATE OR REPLACE文)が表示されます。