protected override void VisitAddForeignKeyStatement(AddForeignKeyStatement statement) { State.Write(Symbols.ALTER); State.Write(Symbols.TABLE); VisitNameToken(statement.TableName); State.Write(Symbols.ADD); State.Write(Symbols.CONSTRAINT); VisitNameToken(statement.Name); State.Write(Symbols.FOREIGN); State.Write(Symbols.KEY); VisitTokenSetInParenthesis(statement.Columns.Select(c => c.Name)); State.Write(Symbols.REFERENCES); VisitNameToken(statement.References); VisitTokenSetInParenthesis(statement.Columns.Select(c => c.ReferencedName)); if (statement.OnDelete != null) { State.Write(Symbols.ON); State.Write(Symbols.DELETE); State.Write(statement.OnDelete.ToString().ToUpper()); } if (statement.OnUpdate != null) { State.Write(Symbols.ON); State.Write(Symbols.UPDATE); State.Write(statement.OnUpdate.ToString().ToUpper()); } }
protected override void VisitAddForeignKeyStatement(AddForeignKeyStatement statement) { //ALTER TABLE CHILD ADD FOREIGN KEY(T1, T2) REFERENCES PARENT(T1, T2); State.Write(Symbols.ALTER); State.Write(Symbols.TABLE); VisitNameToken(statement.TableName); State.Write(Symbols.ADD); State.Write(Symbols.CONSTRAINT); //if () VisitNameToken(statement.Name); State.Write(Symbols.FOREIGN); State.Write(Symbols.KEY); VisitTokenSetInParenthesis(statement.Columns.Select(c => c.Name)); State.Write(Symbols.REFERENCES); VisitNameToken(statement.References); VisitTokenSetInParenthesis(statement.Columns.Select(c => c.ReferencedName)); }
protected abstract void VisitAddForeignKeyStatement(AddForeignKeyStatement statement);
protected override void VisitAddForeignKeyStatement(AddForeignKeyStatement statement) { throw new NotImplementedException(); }