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"); }