diff --git a/SQL_RemoveCondition_demo.md b/SQL_RemoveCondition_demo.md index 0654ed7..25fd70a 100644 --- a/SQL_RemoveCondition_demo.md +++ b/SQL_RemoveCondition_demo.md @@ -1,3 +1,4 @@ +# 1. Select Statemennt ```java final String dbType = JdbcConstants.MYSQL; // ORACLE or POSTGRESQL or SQL_SERVER or HIVE or ODPS @@ -17,4 +18,53 @@ assertTrue( assertEquals("SELECT *\n" + "FROM t", stmt.toString()); +``` + +# 2. DELETE Statement +```java +final String dbType = JdbcConstants.MYSQL; // ORACLE or POSTGRESQL or SQL_SERVER or HIVE or ODPS + +String sql = "delete from t where id = 2 and name = 'wenshao'"; +SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, dbType); +SQLDeleteStatement stmt = (SQLDeleteStatement) parser.parseStatement(); + +assertTrue(stmt.removeCondition("name = 'wenshao'")); + +assertEquals("DELETE FROM t\n" + + "WHERE id = 2", stmt.toString()); + +assertTrue( + stmt.removeCondition("id = 2")); + +assertEquals("DELETE FROM t", stmt.toString()); + +stmt.addCondition("id = 3"); +assertEquals("DELETE FROM t\n" + + "WHERE id = 3", stmt.toString()); +``` + +3. UPDATE Statemennt +```java +final String dbType = JdbcConstants.MYSQL; // ORACLE or POSTGRESQL or SQL_SERVER or HIVE or ODPS + +String sql = "update t set val = ? where id = 2 and name = 'wenshao'"; +SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, dbType); +SQLUpdateStatement stmt = (SQLUpdateStatement) parser.parseStatement(); + +assertTrue(stmt.removeCondition("name = 'wenshao'")); + +assertEquals("UPDATE t\n" + + "SET val = ?\n" + + "WHERE id = 2", stmt.toString()); + +assertTrue( + stmt.removeCondition("id = 2")); + +assertEquals("UPDATE t\n" + + "SET val = ?", stmt.toString()); + +stmt.addCondition("id = 3"); +assertEquals("UPDATE t\n" + + "SET val = ?\n" + + "WHERE id = 3", stmt.toString()); ``` \ No newline at end of file