Skip to content

Commit 8f92976

Browse files
committed
Add DROP TRIGGER support for SQL Server
1 parent 0d2976d commit 8f92976

2 files changed

Lines changed: 16 additions & 1 deletion

File tree

src/parser/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5177,7 +5177,7 @@ impl<'a> Parser<'a> {
51775177
/// DROP TRIGGER [ IF EXISTS ] name ON table_name [ CASCADE | RESTRICT ]
51785178
/// ```
51795179
pub fn parse_drop_trigger(&mut self) -> Result<Statement, ParserError> {
5180-
if !dialect_of!(self is PostgreSqlDialect | GenericDialect | MySqlDialect) {
5180+
if !dialect_of!(self is PostgreSqlDialect | GenericDialect | MySqlDialect | MsSqlDialect) {
51815181
self.prev_token();
51825182
return self.expected("an object type after DROP", self.peek_token());
51835183
}

tests/sqlparser_mssql.rs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2036,3 +2036,18 @@ fn parse_mssql_merge_with_output() {
20362036
OUTPUT $action, deleted.ProductID INTO dsi.temp_products";
20372037
ms_and_generic().verified_stmt(stmt);
20382038
}
2039+
2040+
#[test]
2041+
fn parse_drop_trigger() {
2042+
let sql_drop_trigger = "DROP TRIGGER emp_stamp;";
2043+
let drop_stmt = ms().one_statement_parses_to(sql_drop_trigger, "");
2044+
assert_eq!(
2045+
drop_stmt,
2046+
Statement::DropTrigger {
2047+
if_exists: false,
2048+
trigger_name: ObjectName::from(vec![Ident::new("emp_stamp")]),
2049+
table_name: None,
2050+
option: None,
2051+
}
2052+
);
2053+
}

0 commit comments

Comments
 (0)