public override void VisitAfter(MergeStmt mergeStmt) { if (IsPlaceHolderPredicate(mergeStmt.Constraint)) { mergeStmt.Constraint = Place((PlaceHolderPredicate)mergeStmt.Constraint); } }
public override void VisitOnMerge(MergeStmt mergeStmt) { if (this.FindTableAliasName(mergeStmt.Table, _oldTableAliasName) || this.FindTableAliasName(mergeStmt.UsingTable, _oldTableAliasName)) { // 変更後のテーブル別名が既にあるテーブル別名と重複する場合は、末尾に"_"を付加する while (this.FindTableAliasName(mergeStmt.Table, _newTableAliasName) || this.FindTableAliasName(mergeStmt.UsingTable, _oldTableAliasName)) { _newTableAliasName += "_"; } _scopeStack.Push(new Scope(FromOrResult.FromQuery, true)); } else { _scopeStack.Push(new Scope(FromOrResult.FromQuery, false)); } }
virtual public void VisitOnOn(MergeStmt mergeStmt, int offset) { }
virtual public void VisitOnMerge(MergeStmt mergeStmt) { }
virtual public void VisitAfter(MergeStmt mergeStmt) { }
virtual public void VisitBefore(MergeStmt mergeStmt) { }
public override void VisitBefore(MergeStmt mergeStmt) { _updateTableStmt = true; }
public void VisitOnOn(MergeStmt mergeStmt, int offset) { _visitor.VisitOnOn(mergeStmt, offset); }
public void VisitOnMerge(MergeStmt mergeStmt) { _visitor.VisitOnMerge(mergeStmt); }
public void VisitAfter(MergeStmt mergeStmt) { _visitor.VisitAfter(mergeStmt); }
public void VisitBefore(MergeStmt mergeStmt) { _visitor.VisitBefore(mergeStmt); }