private static string NativeType(NativeColumnInfo column)
 {
     string result;
     switch (column.DataType.ToLower())
     {
         case "bfile":
         case "blob":
         case "clob":
         case "date":
         case "double":
         case "float":
         case "int":
         case "integer":
         case "nclob":
         case "raw":
         case "real":
         case "rowid":
         case "smallint":
         case "timestamp":
         case "urowid":
             result = column.DataType;
             break;
         case "char":
         case "nchar":
         case "nvarchar2":
         case "varchar2":
             result = string.Format("{0}({1})", column.DataType, column.Length);
             break;
         case "dec":
         case "decimal":
         case "number":
         case "numeric":
             result = string.Format("{0}({1},{2})", column.DataType, column.Precision, column.Scale);
             break;
         default:
             result = column.DataType;
             break;
     }
     return result;
 }
 private void MakeNativeRow(StringBuilder sb, NativeColumnInfo column)
 {
     sb.Append(Indent);
     sb.Append(column.Name);
     sb.Append(' ');
     sb.Append(NativeType(column));
     if (!string.IsNullOrEmpty(column.Default))
     {
         sb.Append(" DEFAULT ");
         sb.Append(column.Default);
     }
     if (!column.Nullable)
     {
         sb.Append(" NOT");
     }
     sb.Append(" NULL");
 }