A5:SQLでOracleのビューのソースを得る

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文)が表示されます。 

トラックバック


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