⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xmltable.java

📁 导出ORACLE数据库对象DDL语句的程序
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
			pctused="PCTUSED "+pctused+"\n";
		
		String initrans=this.getChangedPropertyNewValue("INI_TRANS");
		if(initrans==null)
			initrans="";
		else
			initrans="INITRANS "+initrans+"\n";
		
		String maxtrans=this.getChangedPropertyNewValue("MAX_TRANS");	
		if(maxtrans==null)
			maxtrans="";
		else
			maxtrans="MAXTRANS "+maxtrans+"\n";
		
		return pctfree+pctused+initrans+maxtrans+storageClause();
	}
	
	/**未处理OPTIMAL*/
	String storageClause(){
		String initial=this.getChangedPropertyNewValue("INITIAL_EXTENT");
		if(initial==null)
			initial="";
		else
			initial="INITIAL "+initial+"\n";
		
		String next=this.getChangedPropertyNewValue("NEXT_EXTENT");
		if(next==null)
			next="";
		else
			next="NEXT "+next+"\n";
		
		String minextents=this.getChangedPropertyNewValue("MIN_EXTENTS");
		if(minextents==null)
			minextents="";
		else
			minextents="MINEXTENTS "+minextents+"\n";
		
		String maxextents=this.getChangedPropertyNewValue("MAX_EXTENTS");
		if(maxextents==null)
			maxextents="";
		else
			maxextents="MAXEXTENTS "+maxextents+"\n";
		
		String pctincrease=this.getChangedPropertyNewValue("PCT_INCREASE");
		if(pctincrease==null)
			pctincrease="";
		else
			pctincrease="PCTINCREASE "+pctincrease+"\n";
		
		String freelists=this.getChangedPropertyNewValue("FREELISTS");
		if(freelists==null)
			freelists="";
		else
			freelists="FREELISTS "+freelists+"\n";
			
		String freelistGroups=this.getChangedPropertyNewValue("FREELIST_GROUPS");
		if(freelistGroups==null)
			freelistGroups="";
		else
			freelistGroups="FREELIST GROUPS "+freelistGroups+"\n";
		
		String bufferPool=this.getChangedPropertyNewValue("BUFFER_POOL");
		if(bufferPool==null)
			bufferPool="";
		else
			bufferPool="BUFFER_POOL "+bufferPool+"\n";
		
		String storage=initial+next+minextents+maxextents+pctincrease+freelists+freelistGroups+bufferPool;
		if(!storage.equals(""))
			storage="STORAGE("+storage+")"+"\n";
			
		return storage;
	}
	
	String loggingClause(){
		String logging=this.getChangedPropertyNewValue("LOGGING");
		if(logging==null)
			logging="";
		else if(logging.equals("YES"))
			logging="LOGGING"+"\n";
		else
			logging="NOLOGGING"+"\n";			
		
		return  logging;
	}
	
	/**暂时不处理COMPRESS参数*/
	String dataSegmentCompression(){
		return "";
	}
	
	/**暂时不处理SUPPLEMENTAL LOG GROUP*/
	String supplementalLgGrpClauses(){
		return "";
	}
	
	/**暂时不处理ALLOCATE EXTENT */
	String allocateExtentClause(){
		return "";
	}
	
	/**暂时不处理DEALLOCATE EXTENT */
	String deallocateUnusedClause(){
		return "";
	}
	
	String cacheClause(){
		String cache=this.getChangedPropertyNewValue("CACHE");
		if(cache==null)
			cache="";
		else if(cache.equals("N"))		
			cache="NOCACHE"+"\n";
		else
			cache="CACHE"+"\n";	
		
		return cache;
	}
	
	String monitoringClause(){
		String monitoring=this.getChangedPropertyNewValue("MONITORING");
		//Logger.log(Logger.INFO,"monitoringClause:"+monitoring);
		if(monitoring==null)
			monitoring="";
		else if(monitoring.equals("NO"))
			monitoring="NOMONITORING"+"\n";
		else
			monitoring="MONITORING"+"\n";
		
		return monitoring;
	}
	
	
	/**暂时不处理UPGRADE属性*/
	String upgradeTableClause(){
		return "";
	}
	
	/**暂时不处理record per block属性*/
	String recordsPerBlockClause(){
		return "";
	}
	
	String parallelClause(){
		return "";
	}
	
	String rowMovementClause(){
		String rowmove=this.getChangedPropertyNewValue("ROW_MOVEMENT");
		
		if(rowmove==null)
			return "";
		else
			return rowmove+"ROW MOVEMENT\n";
	}
	
	String columnClauses() throws Exception{
		XMLSchema srcSchema = null;
		XMLSchema dstSchema = null;

		srcSchema = CompareFrame.getInstance().getSelectedSrcXMLSchema();
		dstSchema = CompareFrame.getInstance().getSelectedDstXMLSchema();

		if(srcSchema == null ){
			Logger.log(Logger.DEBUG,type2String(this.getType())+":"+this.name+":"+"获取源数据库Schema失败!");
			return "";
		}
		if( dstSchema == null){
			Logger.log(Logger.DEBUG,type2String(this.getType())+":"+this.name+":"+"获取目标数据库Schema失败!");
			return "";			
		}

		ArrayList addlist=new ArrayList();
		ArrayList modifylist=new ArrayList();
		ArrayList droplist=new ArrayList();
		
		if(this.getDirectChildren(XMLNode.XML_TABCOLUMNS,XMLTabColumns.NAME)==null)
			return "";		
		Hashtable hash=this.getDirectChildren(XMLNode.XML_TABCOLUMNS,XMLTabColumns.NAME)
								.getDirectChildren(XMLNode.XML_TABCOLUMN);
		
		Enumeration enum= hash.elements();
		//Logger.log(Logger.DEBUG,"enum:"+enum);
		while(enum.hasMoreElements()){
			XMLTabColumn col=(XMLTabColumn)enum.nextElement();
			//Logger.log(Logger.DEBUG,"status:"+col.getCompareStatus());			
			//Logger.log(Logger.DEBUG,"column name:"+col.getName());			
			switch(col.getCompareStatus()){
				case(ComparedNode.SRC_EXIST_DST_NULL):
					droplist.add(srcSchema.getIndirectChildren(col));
					break;
				
				case(ComparedNode.SRC_NULL_DST_EXIST):
					addlist.add(dstSchema.getIndirectChildren(col));
					break;
				
				case(ComparedNode.SRC_DST_DIFF):
					modifylist.add(dstSchema.getIndirectChildren(col));
					break;
			}
		
		}
		
		//Logger.log(Logger.DEBUG,"addlist size:"+addlist.size());			
		//Logger.log(Logger.DEBUG,"modifylist size:"+modifylist.size());			
		//Logger.log(Logger.DEBUG,"droplist size:"+droplist.size());			
				
		return addColumnClauses(addlist)+
				modifyColumnClauses(modifylist)+
				dropColumnClauses(droplist);
	}

	String addColumnClauses(ArrayList list){
		String result="";
		for(int i=0;i<list.size();i++){
			XMLTabColumn col=(XMLTabColumn)list.get(i);			
			result=result+col.toSQLString()+",";
		}		
		if(!result.equals("")){
			result=result.substring(0,result.length()-1);
			result="ADD("+result+")"+"\n";
		}
		return result;
	}
	
	String modifyColumnClauses(ArrayList list){
		String result="";
		for(int i=0;i<list.size();i++){
			XMLTabColumn col=(XMLTabColumn)list.get(i);			
			result=result+col.toSQLString()+",";
		}		
		if(!result.equals("")){
			result=result.substring(0,result.length()-1);
			result="MODIFY("+result+")"+"\n";
		}
		return result;
	
	}
	
	/**暂时不处理*/
	String modifyCollectionRetrieval(){
		return "";	
	}
	
	/**暂时不处理*/
	String modifyLOBStorageClause(){
		return "";		
	}
	
	/**暂时不处理*/
	String alterVarrayColStorageClause(){
		return "";		
	
	}
	
	/**暂时不处理*/
	String dropColumnClauses(ArrayList list){
		String result="";
		for(int i=0;i<list.size();i++){
			XMLTabColumn col=(XMLTabColumn)list.get(i);			
			result=result+col.getName()+",";
		}		
		if(!result.equals("")){
			result=result.substring(0,result.length()-1);
			result="DROP("+result+")CASCADE CONSTRAINTS"+"\n";
		}
		return result;
	}
	
	/**不需要处理*/
	String constraintClauses(){
		return "";
	}

	/**不需要处理*/
	String alterTablePartitioning(){
		return "";
	}
	
	/**不需要处理*/
	String alterExternalTableClauses(){
		return "";
	}
	
	/**不需要处理*/
	String moveTableClause(){
		return "";
	}
	
	/**不需要处理*/
	String enableDisableClause(){
		return "";
	}
	
	/**
	 * 不处理TRIGGER的相关内容
	 * */
	String lockClause(){
		String lock=this.getChangedPropertyNewValue("TABLE_LOCK");
		
		if(lock==null)
			return "";
		else
			return lock+" "+"TABLE LOCK\n";
			
	}
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -