protected void AppendTable(StatementCreateTable statementCreateTable) { var table = statementCreateTable.Table; this.Builder.Append("CREATE "); this.AppendTempKeyword(table.FullName); this.Builder.Append("TABLE "); statementCreateTable.Table.FullName.Accept(this.ExprBuilder, null); this.Builder.Append('('); ColumnAnalysis analysis = ColumnAnalysis.Build(); for (int i = 0; i < table.Columns.Count; i++) { if (i != 0) { this.Builder.Append(','); } var column = table.Columns[i]; analysis.Analyze(column); this.AppendColumn(column: column); } this.AppendPkConstraints(table, analysis); this.AppendFkConstraints(table, analysis); this.AppendIndexesInside(table); this.Builder.Append(')'); this.Builder.Append(';'); this.AppendIndexesOutside(table); }
public override void VisitCreateTable(StatementCreateTable statementCreateTable) { this.AppendTable(statementCreateTable); }
public abstract void VisitCreateTable(StatementCreateTable statementCreateTable);