Esempio n. 1
0
        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());
            }
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
 protected abstract void VisitAddForeignKeyStatement(AddForeignKeyStatement statement);
Esempio n. 4
0
 protected override void VisitAddForeignKeyStatement(AddForeignKeyStatement statement)
 {
     throw new NotImplementedException();
 }