package net.sf.jsqlparser.test.update; import java.io.StringReader; import static junit.framework.TestCase.*; import net.sf.jsqlparser.JSQLParserException; import net.sf.jsqlparser.expression.JdbcParameter; import net.sf.jsqlparser.expression.LongValue; import net.sf.jsqlparser.expression.StringValue; import net.sf.jsqlparser.expression.operators.relational.GreaterThanEquals; import net.sf.jsqlparser.parser.CCJSqlParserManager; import net.sf.jsqlparser.schema.Column; import net.sf.jsqlparser.statement.update.Update; import org.junit.Test; public class UpdateTest { CCJSqlParserManager parserManager = new CCJSqlParserManager(); @Test public void testUpdate() throws JSQLParserException { String statement = "UPDATE mytable set col1='as', col2=?, col3=565 Where o >= 3"; Update update = (Update) parserManager.parse(new StringReader(statement)); assertEquals("mytable", update.getTable().getName()); assertEquals(3, update.getColumns().size()); assertEquals("col1", ((Column) update.getColumns().get(0)).getColumnName()); assertEquals("col2", ((Column) update.getColumns().get(1)).getColumnName()); assertEquals("col3", ((Column) update.getColumns().get(2)).getColumnName()); assertEquals("as", ((StringValue) update.getExpressions().get(0)).getValue()); assertTrue(update.getExpressions().get(1) instanceof JdbcParameter); assertEquals(565, ((LongValue) update.getExpressions().get(2)).getValue()); assertTrue(update.getWhere() instanceof GreaterThanEquals); } @Test public void testComment() throws Exception { String statement = "/*welkjhkas*/ UPDATE /**/ mytable /**/ SET /**/ col1 /**/ = 'as' /**/, /**/ col2 /**/ = ? /**/, /**/ col3 /**/ = 565 /**/ WHERE o >= 3 /*ksjdf*/"; Update update = (Update) parserManager.parse(new StringReader(statement)); assertEquals(statement, "" + update); } @Test public void testUpdateWAlias() throws JSQLParserException { String statement = "UPDATE table1 A SET A.column = 'XXX' WHERE A.cod_table = 'YYY'"; Update update = (Update) parserManager.parse(new StringReader(statement)); } }