<%
	EXTRACT(__SCHEMA__);
	String fieldsCreated = "";
	boolean flagCreated=false;

	for(int i=0; i < __SCHEMA__.length; i++){	
	 if(flagCreated){
		 fieldsCreated += ",";
	 }else{
		 flagCreated=true;
	 }

	 	if(__SCHEMA_DBTYPE__[i].equals("DECIMAL") || __SCHEMA_DBTYPE__[i].equals("VARCHAR") || __SCHEMA_DBTYPE__[i].equals("CHAR") || __SCHEMA_DBTYPE__[i].equals("BYTE") || __SCHEMA_DBTYPE__[i].equals("VARBYTE")){
	 		fieldsCreated += (__SCHEMA_NAME__[i] + " " + __SCHEMA_DBTYPE__[i] +" ("+ __SCHEMA_LENGTH__[i] +") ");	
	 	} else if(__SCHEMA_DBTYPE__[i].equals("NUMBER") || __SCHEMA_DBTYPE__[i].equals("DECIMAL")){
			fieldsCreated += (__SCHEMA_NAME__[i] + " " + __SCHEMA_DBTYPE__[i] +" ("+ __SCHEMA_LENGTH__[i] +","+ __SCHEMA_PRECISION__[i] +") ");	
	 	} else {
	 		fieldsCreated += (__SCHEMA_NAME__[i] + " " + __SCHEMA_DBTYPE__[i]);
	    }
	 	if(__SCHEMA_NULLABLE__[i].equals("false")){
	 		fieldsCreated += " NOT NULL";
	 	}
	}
	String primary = "";
	for(int j=0; j < __SCHEMA__.length; j++){
		if(__SCHEMA_ISKEY__[j].equals("true") && __SCHEMA_NULLABLE__[j].equals("false")){
			if(primary.startsWith(" , PRIMARY KEY")) {
				primary += ","+__SCHEMA_NAME__[j];
			} else {
				primary += " , PRIMARY KEY ("+__SCHEMA_NAME__[j];	
			}
		}
	}
	if(!primary.equals("")){
		fieldsCreated += primary+")";
	}
%>

CREATE TABLE <%= __DATABASE_NAME__ %>.<%= __TABLE_NAME_TARGET__ %> 
(
 <%= fieldsCreated %>);