This is an automated email from the ASF dual-hosted git repository.

lujingshang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new ae228f3  Proofread the SQLServer syntax of trigger, sequence and index 
(#12435)
ae228f3 is described below

commit ae228f307059c26cd0e952cdd08dc74cafd55599
Author: Icesource <[email protected]>
AuthorDate: Wed Sep 22 09:34:10 2021 +0800

    Proofread the SQLServer syntax of trigger, sequence and index (#12435)
    
    * add SQLServer grammar create trigger
    
    * add SQLServer grammar create sequence
    
    * add SQLServer grammar alter sequence and trigger
    
    * Improve the grammatical definition of alter index and create index
    
    * add sql parser tests for trigger and create index
---
 .../src/main/antlr4/imports/sqlserver/BaseRule.g4  |  11 +-
 .../main/antlr4/imports/sqlserver/DDLStatement.g4  | 120 ++++++++++++++++++++-
 .../antlr4/imports/sqlserver/SQLServerKeyword.g4   |  64 +++++++++++
 .../sql/parser/autogen/SQLServerStatement.g4       |   4 +
 .../impl/SQLServerDDLStatementSQLVisitor.java      |  34 +++++-
 .../core/database/visitor/SQLVisitorRule.java      |   2 +
 .../ddl/SQLServerAlterSequenceStatement.java}      |  50 ++-------
 .../ddl/SQLServerAlterTriggerStatement.java}       |  50 ++-------
 .../ddl/SQLServerCreateSequenceStatement.java}     |  50 ++-------
 .../ddl/SQLServerCreateTriggerStatement.java}      |  50 ++-------
 .../src/main/resources/case/ddl/alter-index.xml    |   4 +
 .../ddl/alter-trigger.xml}                         |   6 +-
 .../src/main/resources/case/ddl/create-index.xml   |  12 +++
 .../main/resources/case/ddl/create-sequence.xml    |   1 +
 .../src/main/resources/case/ddl/create-trigger.xml |   3 +-
 .../resources/sql/supported/ddl/alter-index.xml    |   1 +
 .../resources/sql/supported/ddl/alter-sequence.xml |   2 +-
 .../ddl/{alter-sequence.xml => alter-trigger.xml}  |   5 +-
 .../resources/sql/supported/ddl/create-index.xml   |   3 +
 .../sql/supported/ddl/create-sequence.xml          |   8 ++
 .../ddl/{alter-sequence.xml => create-trigger.xml} |  10 +-
 21 files changed, 318 insertions(+), 172 deletions(-)

diff --git 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/antlr4/imports/sqlserver/BaseRule.g4
 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/antlr4/imports/sqlserver/BaseRule.g4
index 3bfbe02..090680c 100644
--- 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/antlr4/imports/sqlserver/BaseRule.g4
+++ 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/antlr4/imports/sqlserver/BaseRule.g4
@@ -99,7 +99,8 @@ unreservedWord
     | OUTPUT | INSERTED | DELETED | KB | MB | GB | TB | FILENAME | MAXSIZE | 
FILEGROWTH | UNLIMITED | MEMORY_OPTIMIZED_DATA | FILEGROUP | 
NON_TRANSACTED_ACCESS
     | DB_CHAINING | TRUSTWORTHY | GROUP | ROWS | DATE | DATEPART | CAST | DAY
     | FORWARD_ONLY | KEYSET | FAST_FORWARD | READ_ONLY | SCROLL_LOCKS | 
OPTIMISTIC | TYPE_WARNING | SCHEMABINDING | CALLER
-    | OWNER | SNAPSHOT | REPEATABLE | SERIALIZABLE | NATIVE_COMPILATION | 
VIEW_METADATA
+    | OWNER | SNAPSHOT | REPEATABLE | SERIALIZABLE | NATIVE_COMPILATION | 
VIEW_METADATA | INSTEAD | APPEND | INCREMENT | CACHE | MINVALUE | MAXVALUE | 
RESTART
+    | LOB_COMPACTION | COMPRESS_ALL_ROW_GROUPS | REORGANIZE | RESUME | PAUSE | 
ABORT
     ;
 
 databaseName
@@ -122,6 +123,14 @@ viewName
     : (owner DOT_)? name
     ;
 
+triggerName
+    : (schemaName DOT_)? name
+    ;
+
+sequenceName
+    : (schemaName DOT_)? name
+    ;
+
 tableName
     : (owner DOT_)? name
     ;
diff --git 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/antlr4/imports/sqlserver/DDLStatement.g4
 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/antlr4/imports/sqlserver/DDLStatement.g4
index 05ae8f5..ac74547 100644
--- 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/antlr4/imports/sqlserver/DDLStatement.g4
+++ 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/antlr4/imports/sqlserver/DDLStatement.g4
@@ -24,7 +24,7 @@ createTable
     ;
 
 createIndex
-    : CREATE createIndexSpecification INDEX indexName ON tableName 
columnNamesWithSort
+    : CREATE createIndexSpecification INDEX indexName ON tableName 
columnNamesWithSort createIndexClause
     ;
 
 createDatabase
@@ -43,12 +43,28 @@ createView
     : CREATE (OR ALTER)? VIEW viewName createViewClause
     ;
 
+createTrigger
+    : CREATE (OR ALTER)? TRIGGER triggerName ON triggerTarget 
createTriggerClause
+    ;
+
+createSequence
+    : CREATE SEQUENCE sequenceName createOrAlterSequenceClause*
+    ;
+
 alterTable
     : ALTER TABLE tableName alterDefinitionClause (COMMA_ 
alterDefinitionClause)*
     ;
 
 alterIndex
-    : ALTER INDEX (indexName | ALL) ON tableName
+    : ALTER INDEX (indexName | ALL) ON tableName alterIndexClause
+    ;
+
+alterTrigger
+    : ALTER TRIGGER triggerName ON triggerTarget createTriggerClause
+    ;
+
+alterSequence
+    : ALTER SEQUENCE sequenceName createOrAlterSequenceClause*
     ;
 
 dropTable
@@ -316,7 +332,7 @@ createIndexSpecification
     ;
 
 alterDefinitionClause
-    : addColumnSpecification | modifyColumnSpecification | alterDrop | 
alterCheckConstraint | alterTrigger | alterSwitch | alterSet | alterTableOption 
| REBUILD
+    : addColumnSpecification | modifyColumnSpecification | alterDrop | 
alterCheckConstraint | alterTableTrigger | alterSwitch | alterSet | 
alterTableOption | REBUILD
     ;
 
 addColumnSpecification
@@ -396,7 +412,7 @@ alterCheckConstraint
     : WITH? (CHECK | NOCHECK) CONSTRAINT (ALL | constraintName)
     ;
 
-alterTrigger 
+alterTableTrigger
     : (ENABLE| DISABLE) TRIGGER (ALL | ignoredIdentifiers)
     ;
 
@@ -619,7 +635,7 @@ functionOption
     ;
 
 validStatement
-    : (createTable | alterTable | dropTable | truncateTable| insert
+    : (createTable | alterTable | dropTable | truncateTable | insert
     | update | delete | select | setVariable | declareVariable) SEMI_?
     ;
 
@@ -678,3 +694,97 @@ withCommonTableExpr
 commonTableExpr
     : name (LP_ columnName (COMMA_ columnName)* RP_)? AS LP_ select RP_
     ;
+
+createTriggerClause
+    : (WITH dmlTriggerOption COMMA_ dmlTriggerOption)? (FOR | AFTER | INSTEAD 
OF)
+    INSERT? COMMA_? UPDATE? COMMA_? DELETE? COMMA_? (WITH APPEND)? (NOT FOR 
REPLICATION)?
+    AS (compoundStatement | EXTERNAL NAME methodSpecifier)
+    ;
+
+dmlTriggerOption
+    : ENCRYPTION | executeAsClause | NATIVE_COMPILATION | SCHEMABINDING |
+    ;
+
+methodSpecifier
+    : name DOT_ name DOT_ name
+    ;
+
+triggerTarget
+    : tableName | viewName | ALL SERVER | DATABASE
+    ;
+
+createOrAlterSequenceClause
+    : AS dataType
+    | (START | RESTART) WITH expr
+    | INCREMENT BY expr
+    | MINVALUE expr? | NO MINVALUE
+    | MAXVALUE expr? | NO MAXVALUE
+    | CACHE expr | NO CACHE
+    | NO? CYCLE
+    ;
+
+createIndexClause
+    : (INCLUDE columnNamesWithSort)? (WHERE filterPredicate)? (WITH LP_ 
relationalIndexOption (COMMA_ relationalIndexOption)* RP_)?
+    (ON (schemaName LP_ columnName RP_ | name))? (FILESTREAM_ON (name | 
stringLiterals))?
+    ;
+
+filterPredicate
+    : conjunct (AND conjunct)*
+    ;
+
+conjunct
+    : columnName IN LP_ expr (COMMA_ expr)* RP_
+    | columnName comparisonOperator expr
+    ;
+
+alterIndexClause
+    : REBUILD (PARTITION EQ_ (ALL | expr))? (WITH LP_ relationalIndexOption 
(COMMA_ relationalIndexOption)* RP_)?
+    | DISABLE
+    | REORGANIZE (PARTITION EQ_ expr)? (WITH LP_ reorganizeOption RP_)?
+    | SET LP_ setIndexOption (COMMA_ setIndexOption) RP_
+    | RESUME (WITH LP_ resumableIndexOptions (COMMA_ resumableIndexOptions)* 
RP_)?
+    | PAUSE
+    | ABORT
+    ;
+
+relationalIndexOption
+    : PAD_INDEX EQ_ (ON | OFF)
+    | FILLFACTOR EQ_ expr
+    | SORT_IN_TEMPDB EQ_ (ON | OFF)
+    | IGNORE_DUP_KEY EQ_ (ON | OFF)
+    | STATISTICS_NORECOMPUTE EQ_ (ON | OFF)
+    | STATISTICS_INCREMENTAL EQ_ (ON | OFF)
+    | DROP_EXISTING EQ_ (ON | OFF)
+    | ONLINE EQ_ (ON lowPriorityLockWait? | OFF)
+    | RESUMABLE EQ_ (ON | OFF)
+    | MAX_DURATION EQ_ expr MINUTES?
+    | ALLOW_ROW_LOCKS EQ_ (ON | OFF)
+    | ALLOW_PAGE_LOCKS EQ_ (ON | OFF)
+    | OPTIMIZE_FOR_SEQUENTIAL_KEY EQ_ (ON | OFF)
+    | MAXDOP EQ_ expr
+    | DATA_COMPRESSION EQ_ (NONE | ROW | PAGE | COLUMNSTORE | 
COLUMNSTORE_ARCHIVE) (ON PARTITIONS LP_ partitionNumberRange (COMMA_ 
partitionNumberRange)*)?
+    ;
+
+partitionNumberRange
+    : expr (TO expr)?
+    ;
+
+reorganizeOption
+    : LOB_COMPACTION EQ_ (ON | OFF)
+    | COMPRESS_ALL_ROW_GROUPS EQ_ (ON | OFF)
+    ;
+
+setIndexOption
+    : ALLOW_ROW_LOCKS EQ_ (ON | OFF)
+    | ALLOW_PAGE_LOCKS EQ_ (ON | OFF)
+    | OPTIMIZE_FOR_SEQUENTIAL_KEY EQ_ (ON | OFF)
+    | IGNORE_DUP_KEY EQ_ (ON | OFF)
+    | STATISTICS_NORECOMPUTE EQ_ (ON | OFF)
+    | COMPRESSION_DELAY EQ_ (expr MINUTES?)
+    ;
+
+resumableIndexOptions
+    : MAXDOP EQ_ expr
+    | MAX_DURATION EQ_ expr MINUTES?
+    | lowPriorityLockWait
+    ;
diff --git 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/antlr4/imports/sqlserver/SQLServerKeyword.g4
 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/antlr4/imports/sqlserver/SQLServerKeyword.g4
index 45c67c6..7b38643 100644
--- 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/antlr4/imports/sqlserver/SQLServerKeyword.g4
+++ 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/antlr4/imports/sqlserver/SQLServerKeyword.g4
@@ -1250,3 +1250,67 @@ NATIVE_COMPILATION
 VIEW_METADATA
     : V I E W UL_ M E T A D A T A
     ;
+
+AFTER
+    : A F T E R
+    ;
+
+INSTEAD
+    : I N S T E A D
+    ;
+
+APPEND
+    : A P P E N D
+    ;
+
+INCREMENT
+    : I N C R E M E N T
+    ;
+
+CYCLE
+    : C Y C L E
+    ;
+
+CACHE
+    : C A C H E
+    ;
+
+MINVALUE
+    : M I N V A L U E
+    ;
+
+MAXVALUE
+    : M A X V A L U E
+    ;
+
+RESTART
+    : R E S T A R T
+    ;
+
+LOB_COMPACTION
+    : L O B UL_ C O M P A C T I O N
+    ;
+
+COMPRESS_ALL_ROW_GROUPS
+    : C O M P R E S S UL_ A L L UL_ R O W UL_ G R O U P S
+    ;
+
+REORGANIZE
+    : R E O R G A N I Z E
+    ;
+
+RESUME
+    : R E S U M E
+    ;
+
+PAUSE
+    : P A U S E
+    ;
+
+ABORT
+    : A B O R T
+    ;
+
+INCLUDE
+    : I N C L U D E
+    ;
diff --git 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/SQLServerStatement.g4
 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/SQLServerStatement.g4
index c626063..7a429c2 100644
--- 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/SQLServerStatement.g4
+++ 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/SQLServerStatement.g4
@@ -31,7 +31,11 @@ execute
     | createDatabase
     | createProcedure
     | createView
+    | createTrigger
+    | createSequence
     | alterTable
+    | alterTrigger
+    | alterSequence
     | dropTable
     | truncateTable
     | createFunction
diff --git 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/impl/SQLServerDDLStatementSQLVisitor.java
 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/impl/SQLServerDDLStatementSQLVisitor.java
index 4be40d0..1cd53a4 100644
--- 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/impl/SQLServerDDLStatementSQLVisitor.java
+++ 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/impl/SQLServerDDLStatementSQLVisitor.java
@@ -26,19 +26,23 @@ import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.Alt
 import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.AlterColumnAddOptionContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.AlterDefinitionClauseContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.AlterIndexContext;
+import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.AlterSequenceContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.AlterTableContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.AlterTableDropConstraintContext;
+import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.AlterTriggerContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.ColumnConstraintContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.ColumnDefinitionContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.ColumnDefinitionOptionContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.ColumnNameContext;
+import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.CreateDatabaseContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.CreateDefinitionClauseContext;
+import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.CreateFunctionContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.CreateIndexContext;
+import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.CreateProcedureContext;
+import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.CreateSequenceContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.CreateTableContext;
-import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.CreateDatabaseContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.CreateTableDefinitionContext;
-import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.CreateFunctionContext;
-import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.CreateProcedureContext;
+import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.CreateTriggerContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.CreateViewContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.DropColumnSpecificationContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.SQLServerStatementParser.DropConstraintNameContext;
@@ -64,12 +68,16 @@ import 
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.DataTypeS
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.common.value.collection.CollectionValue;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.ddl.SQLServerAlterIndexStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.ddl.SQLServerAlterSequenceStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.ddl.SQLServerAlterTableStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.ddl.SQLServerAlterTriggerStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.ddl.SQLServerCreateDatabaseStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.ddl.SQLServerCreateFunctionStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.ddl.SQLServerCreateIndexStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.ddl.SQLServerCreateProcedureStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.ddl.SQLServerCreateSequenceStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.ddl.SQLServerCreateTableStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.ddl.SQLServerCreateTriggerStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.ddl.SQLServerCreateViewStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.ddl.SQLServerDropIndexStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.ddl.SQLServerDropTableStatement;
@@ -344,4 +352,24 @@ public final class SQLServerDDLStatementSQLVisitor extends 
SQLServerStatementSQL
         result.setSelect((SQLServerSelectStatement) 
visit(ctx.createViewClause().select()));
         return result;
     }
+
+    @Override
+    public ASTNode visitCreateTrigger(final CreateTriggerContext ctx) {
+        return new SQLServerCreateTriggerStatement();
+    }
+
+    @Override
+    public ASTNode visitCreateSequence(final CreateSequenceContext ctx) {
+        return new SQLServerCreateSequenceStatement();
+    }
+
+    @Override
+    public ASTNode visitAlterTrigger(final AlterTriggerContext ctx) {
+        return new SQLServerAlterTriggerStatement();
+    }
+
+    @Override
+    public ASTNode visitAlterSequence(final AlterSequenceContext ctx) {
+        return new SQLServerAlterSequenceStatement();
+    }
 }
diff --git 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/visitor/SQLVisitorRule.java
 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/visitor/SQLVisitorRule.java
index fc0ffd4..7253d44 100644
--- 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/visitor/SQLVisitorRule.java
+++ 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/visitor/SQLVisitorRule.java
@@ -99,6 +99,8 @@ public enum SQLVisitorRule {
     DROP_SERVER("DropServer", SQLStatementType.DDL),
     
     CREATE_TRIGGER("CreateTrigger", SQLStatementType.DDL),
+
+    ALTER_TRIGGER("AlterTrigger", SQLStatementType.DDL),
     
     DROP_TRIGGER("DropTrigger", SQLStatementType.DDL),
     
diff --git 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/SQLServerStatement.g4
 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/sqlserver/ddl/SQLServerAlterSequenceStatement.java
similarity index 52%
copy from 
shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/SQLServerStatement.g4
copy to 
shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/sqlserver/ddl/SQLServerAlterSequenceStatement.java
index c626063..b874d5c 100644
--- 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/SQLServerStatement.g4
+++ 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/sqlserver/ddl/SQLServerAlterSequenceStatement.java
@@ -15,44 +15,16 @@
  * limitations under the License.
  */
 
-grammar SQLServerStatement;
+package 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.ddl;
 
-import Symbol, Comments, DMLStatement, DDLStatement, TCLStatement, 
DCLStatement, StoreProcedure;
+import lombok.ToString;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.DDLStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.SQLServerStatement;
 
-execute
-    : (select
-    | insert
-    | update
-    | delete
-    | createIndex
-    | alterIndex
-    | dropIndex
-    | createTable
-    | createDatabase
-    | createProcedure
-    | createView
-    | alterTable
-    | dropTable
-    | truncateTable
-    | createFunction
-    | setTransaction
-    | beginTransaction
-    | setImplicitTransactions
-    | commit
-    | rollback
-    | savepoint
-    | grant
-    | revoke
-    | deny
-    | createUser
-    | dropUser
-    | alterUser
-    | createRole
-    | dropRole
-    | alterRole
-    | createLogin
-    | dropLogin
-    | alterLogin
-    | call
-    ) SEMI_?
-    ;
+/**
+ * SQLServer alter sequence statement.
+ */
+@ToString
+public class SQLServerAlterSequenceStatement extends AbstractSQLStatement 
implements DDLStatement, SQLServerStatement {
+}
diff --git 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/SQLServerStatement.g4
 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/sqlserver/ddl/SQLServerAlterTriggerStatement.java
similarity index 52%
copy from 
shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/SQLServerStatement.g4
copy to 
shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/sqlserver/ddl/SQLServerAlterTriggerStatement.java
index c626063..e8e7151 100644
--- 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/SQLServerStatement.g4
+++ 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/sqlserver/ddl/SQLServerAlterTriggerStatement.java
@@ -15,44 +15,16 @@
  * limitations under the License.
  */
 
-grammar SQLServerStatement;
+package 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.ddl;
 
-import Symbol, Comments, DMLStatement, DDLStatement, TCLStatement, 
DCLStatement, StoreProcedure;
+import lombok.ToString;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.DDLStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.SQLServerStatement;
 
-execute
-    : (select
-    | insert
-    | update
-    | delete
-    | createIndex
-    | alterIndex
-    | dropIndex
-    | createTable
-    | createDatabase
-    | createProcedure
-    | createView
-    | alterTable
-    | dropTable
-    | truncateTable
-    | createFunction
-    | setTransaction
-    | beginTransaction
-    | setImplicitTransactions
-    | commit
-    | rollback
-    | savepoint
-    | grant
-    | revoke
-    | deny
-    | createUser
-    | dropUser
-    | alterUser
-    | createRole
-    | dropRole
-    | alterRole
-    | createLogin
-    | dropLogin
-    | alterLogin
-    | call
-    ) SEMI_?
-    ;
+/**
+ * SQLServer alter trigger statement.
+ */
+@ToString
+public final class SQLServerAlterTriggerStatement extends AbstractSQLStatement 
implements DDLStatement, SQLServerStatement {
+}
diff --git 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/SQLServerStatement.g4
 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/sqlserver/ddl/SQLServerCreateSequenceStatement.java
similarity index 52%
copy from 
shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/SQLServerStatement.g4
copy to 
shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/sqlserver/ddl/SQLServerCreateSequenceStatement.java
index c626063..6414cab 100644
--- 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/SQLServerStatement.g4
+++ 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/sqlserver/ddl/SQLServerCreateSequenceStatement.java
@@ -15,44 +15,16 @@
  * limitations under the License.
  */
 
-grammar SQLServerStatement;
+package 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.ddl;
 
-import Symbol, Comments, DMLStatement, DDLStatement, TCLStatement, 
DCLStatement, StoreProcedure;
+import lombok.ToString;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.DDLStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.SQLServerStatement;
 
-execute
-    : (select
-    | insert
-    | update
-    | delete
-    | createIndex
-    | alterIndex
-    | dropIndex
-    | createTable
-    | createDatabase
-    | createProcedure
-    | createView
-    | alterTable
-    | dropTable
-    | truncateTable
-    | createFunction
-    | setTransaction
-    | beginTransaction
-    | setImplicitTransactions
-    | commit
-    | rollback
-    | savepoint
-    | grant
-    | revoke
-    | deny
-    | createUser
-    | dropUser
-    | alterUser
-    | createRole
-    | dropRole
-    | alterRole
-    | createLogin
-    | dropLogin
-    | alterLogin
-    | call
-    ) SEMI_?
-    ;
+/**
+ * SQLServer create sequence statement.
+ */
+@ToString
+public class SQLServerCreateSequenceStatement extends AbstractSQLStatement 
implements DDLStatement, SQLServerStatement {
+}
diff --git 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/SQLServerStatement.g4
 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/sqlserver/ddl/SQLServerCreateTriggerStatement.java
similarity index 52%
copy from 
shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/SQLServerStatement.g4
copy to 
shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/sqlserver/ddl/SQLServerCreateTriggerStatement.java
index c626063..f453d5b 100644
--- 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-sqlserver/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/SQLServerStatement.g4
+++ 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/sqlserver/ddl/SQLServerCreateTriggerStatement.java
@@ -15,44 +15,16 @@
  * limitations under the License.
  */
 
-grammar SQLServerStatement;
+package 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.ddl;
 
-import Symbol, Comments, DMLStatement, DDLStatement, TCLStatement, 
DCLStatement, StoreProcedure;
+import lombok.ToString;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.DDLStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.SQLServerStatement;
 
-execute
-    : (select
-    | insert
-    | update
-    | delete
-    | createIndex
-    | alterIndex
-    | dropIndex
-    | createTable
-    | createDatabase
-    | createProcedure
-    | createView
-    | alterTable
-    | dropTable
-    | truncateTable
-    | createFunction
-    | setTransaction
-    | beginTransaction
-    | setImplicitTransactions
-    | commit
-    | rollback
-    | savepoint
-    | grant
-    | revoke
-    | deny
-    | createUser
-    | dropUser
-    | alterUser
-    | createRole
-    | dropRole
-    | alterRole
-    | createLogin
-    | dropLogin
-    | alterLogin
-    | call
-    ) SEMI_?
-    ;
+/**
+ * SQLServer create trigger statement.
+ */
+@ToString
+public class SQLServerCreateTriggerStatement extends AbstractSQLStatement 
implements DDLStatement, SQLServerStatement {
+}
diff --git 
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/ddl/alter-index.xml
 
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/ddl/alter-index.xml
index b79cd08..54d77af 100644
--- 
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/ddl/alter-index.xml
+++ 
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/ddl/alter-index.xml
@@ -73,6 +73,10 @@
     <alter-index sql-case-id="alter_index_with_quota_bracket">
         <table name="t_order" start-delimiter="[" end-delimiter="]" 
start-index="29" stop-index="37" />
     </alter-index>
+
+    <alter-index sql-case-id="alter_index_with_reorganize">
+        <table name="t_order" start-index="27" stop-index="33" />
+    </alter-index>
     
     <alter-index sql-case-id="alter_index_alter_column" />
     <alter-index sql-case-id="alter_index_set_tablespace" />
diff --git 
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/alter-sequence.xml
 
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/ddl/alter-trigger.xml
similarity index 87%
copy from 
shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/alter-sequence.xml
copy to 
shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/ddl/alter-trigger.xml
index b2dc852..f86c878 100644
--- 
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/alter-sequence.xml
+++ 
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/ddl/alter-trigger.xml
@@ -16,6 +16,6 @@
   ~ limitations under the License.
   -->
 
-<sql-cases>
-    <sql-case id="alter_sequence" value="ALTER SEQUENCE seq_id MINVALUE 10" 
db-types="PostgreSQL" />
-</sql-cases>
+<sql-parser-test-cases>
+    <create-trigger sql-case-id="alter_trigger" />
+</sql-parser-test-cases>
diff --git 
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/ddl/create-index.xml
 
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/ddl/create-index.xml
index 177b167..6bb9bf8 100644
--- 
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/ddl/create-index.xml
+++ 
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/ddl/create-index.xml
@@ -175,4 +175,16 @@
             <simple-table name="t_order" start-index="24" stop-index="30" />
         </table>
     </create-index>
+
+    <create-index sql-case-id="create_index_using_ignore_dup_key">
+        <table>
+            <simple-table name="t_order" start-index="32" stop-index="38" />
+        </table>
+    </create-index>
+
+    <create-index sql-case-id="create_index_using_drop_existing">
+        <table>
+            <simple-table name="t_order" start-index="52" stop-index="58" />
+        </table>
+    </create-index>
 </sql-parser-test-cases>
diff --git 
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/ddl/create-sequence.xml
 
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/ddl/create-sequence.xml
index c9f5747..60d0d48 100644
--- 
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/ddl/create-sequence.xml
+++ 
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/ddl/create-sequence.xml
@@ -20,4 +20,5 @@
     <create-sequence sql-case-id="create_sequence" />
     <create-sequence sql-case-id="create_sequence_with_option" />
     <create-sequence sql-case-id="create_sequence_complex" />
+    <create-sequence sql-case-id="create_sequence_with_all_arguments"/>
 </sql-parser-test-cases>
diff --git 
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/ddl/create-trigger.xml
 
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/ddl/create-trigger.xml
index 5258801..acf6de9 100644
--- 
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/ddl/create-trigger.xml
+++ 
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/ddl/create-trigger.xml
@@ -17,7 +17,8 @@
   -->
 
 <sql-parser-test-cases>
-<!--    <create-trigger sql-case-id="create_trigger" />-->
+    <create-trigger sql-case-id="create_trigger" />
+    <create-trigger sql-case-id="create_trigger_with_database_scoped" />
 <!--    <create-trigger sql-case-id="create_trigger_of_balance" />-->
 <!--    <create-trigger sql-case-id="create_trigger_with_when" />-->
 <!--    <create-trigger sql-case-id="create_trigger_after_update" />-->
diff --git 
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/alter-index.xml
 
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/alter-index.xml
index 51b0c1c..3157e5a 100644
--- 
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/alter-index.xml
+++ 
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/alter-index.xml
@@ -33,6 +33,7 @@
     <sql-case id="alter_index_with_update" value="ALTER INDEX order_index 
UPDATE BLOCK REFERENCES" db-types="Oracle" />
     <sql-case id="alter_index_rebuild" value="ALTER INDEX order_index ON 
t_order REBUILD" db-types="SQLServer" />
     <sql-case id="alter_index_with_quota_bracket" value="ALTER INDEX 
[order_index] ON [t_order] REBUILD" db-types="SQLServer" />
+    <sql-case id="alter_index_with_reorganize" value="ALTER INDEX order_index 
ON t_order REORGANIZE WITH (COMPRESS_ALL_ROW_GROUPS = ON)" db-types="SQLServer" 
/>
     <sql-case id="alter_index_set_tablespace" value="ALTER INDEX distributors 
SET TABLESPACE fasttablespace" db-types="PostgreSQL" />
     <sql-case id="alter_index_alter_column" value="ALTER INDEX t_order_idx 
ALTER COLUMN 3 SET STATISTICS 1000" db-types="PostgreSQL"/>
 </sql-cases>
diff --git 
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/alter-sequence.xml
 
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/alter-sequence.xml
index b2dc852..b8c3650 100644
--- 
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/alter-sequence.xml
+++ 
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/alter-sequence.xml
@@ -17,5 +17,5 @@
   -->
 
 <sql-cases>
-    <sql-case id="alter_sequence" value="ALTER SEQUENCE seq_id MINVALUE 10" 
db-types="PostgreSQL" />
+    <sql-case id="alter_sequence" value="ALTER SEQUENCE seq_id MINVALUE 10" 
db-types="PostgreSQL,SQLServer" />
 </sql-cases>
diff --git 
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/alter-sequence.xml
 
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/alter-trigger.xml
similarity index 79%
copy from 
shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/alter-sequence.xml
copy to 
shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/alter-trigger.xml
index b2dc852..1e24f5e 100644
--- 
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/alter-sequence.xml
+++ 
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/alter-trigger.xml
@@ -17,5 +17,8 @@
   -->
 
 <sql-cases>
-    <sql-case id="alter_sequence" value="ALTER SEQUENCE seq_id MINVALUE 10" 
db-types="PostgreSQL" />
+    <sql-case id="alter_trigger" value="ALTER TRIGGER Sales.bonus_reminder
+        ON Sales.SalesPersonQuotaHistory
+        AFTER INSERT
+        AS INSERT INTO SalesPersonQuotaHistory VALUES(t1, 100)" 
db-types="SQLServer" />
 </sql-cases>
diff --git 
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/create-index.xml
 
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/create-index.xml
index 510c04f..f4521e2 100644
--- 
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/create-index.xml
+++ 
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/create-index.xml
@@ -45,4 +45,7 @@
     <sql-case id="create_index_with_cluster_index" value="CREATE UNIQUE INDEX 
order_index ON CLUSTER t_cluster" db-types="Oracle" />
     <sql-case id="create_index_with_bitmap" value="CREATE BITMAP INDEX 
order_index ON t_order (order_id)" db-types="Oracle" />
     <sql-case id="create_gin_index" value="CREATE INDEX gin_idx ON t_order 
USING GIN (locations) WITH (fastupdate = off)" db-types="PostgreSQL" />
+    <sql-case id="create_index_using_ignore_dup_key" value="CREATE UNIQUE 
INDEX AK_Index ON t_order (order_id) WITH (IGNORE_DUP_KEY = ON)" 
db-types="SQLServer" />
+    <sql-case id="create_index_using_drop_existing" value="CREATE NONCLUSTERED 
INDEX IX_WorkOrder_ProductID ON t_order(order_id)
+        WITH (FILLFACTOR = 80, PAD_INDEX = ON, DROP_EXISTING = ON);" 
db-types="SQLServer" />
 </sql-cases>
diff --git 
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/create-sequence.xml
 
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/create-sequence.xml
index fce27db..7662bce 100644
--- 
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/create-sequence.xml
+++ 
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/create-sequence.xml
@@ -20,4 +20,12 @@
     <sql-case id="create_sequence" value="CREATE SEQUENCE seq_id" 
db-types="PostgreSQL" />
     <sql-case id="create_sequence_with_option" value="CREATE SEQUENCE 
TEMPORARY seq_option" db-types="PostgreSQL" />
     <sql-case id="create_sequence_complex" value="CREATE SEQUENCE seq_complex 
MINVALUE 0 MAXVALUE 100 START 0" db-types="PostgreSQL" />
+    <sql-case id="create_sequence_with_all_arguments" value="CREATE SEQUENCE 
Test.DecSeq
+        AS decimal(3,0)
+        START WITH 125
+        INCREMENT BY 25
+        MINVALUE 100
+        MAXVALUE 200
+        CYCLE
+        CACHE 3;" db-types="SQLServer" />
 </sql-cases>
diff --git 
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/alter-sequence.xml
 
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/create-trigger.xml
similarity index 68%
copy from 
shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/alter-sequence.xml
copy to 
shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/create-trigger.xml
index b2dc852..6bbc419 100644
--- 
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/alter-sequence.xml
+++ 
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/create-trigger.xml
@@ -17,5 +17,13 @@
   -->
 
 <sql-cases>
-    <sql-case id="alter_sequence" value="ALTER SEQUENCE seq_id MINVALUE 10" 
db-types="PostgreSQL" />
+    <sql-case id="create_trigger" value="CREATE TRIGGER reminder1
+        ON Sales.Customer
+        AFTER INSERT, UPDATE
+        AS INSERT INTO SalesPersonQuotaHistory VALUES(t1, 100)" 
db-types="SQLServer" />
+    <sql-case id="create_trigger_with_database_scoped" value="CREATE TRIGGER 
ddl_trig_database
+        ON ALL SERVER
+        AFTER INSERT
+        AS
+            SELECT EVENTDATA()" db-types="SQLServer" />
 </sql-cases>

Reply via email to