package com.alipay.zdal.test.ut.sqlparser.oracle; import org.junit.Test; import junit.framework.Assert; import com.alipay.zdal.parser.sql.ast.statement.SQLSelectStatement; import com.alipay.zdal.parser.sql.dialect.oracle.parser.OracleStatementParser; public class OraclePriorTest { @Test public void test_oracle() throws Exception { String sql = "SELECT employee_id, last_name, manager_id FROM employees CONNECT BY PRIOR employee_id = manager_id;"; String expect = "SELECT employee_id, last_name, manager_id\n" + "FROM employees\n" + "CONNECT BY PRIOR employee_id = manager_id;\n"; OracleStatementParser parser = new OracleStatementParser(sql); SQLSelectStatement stmt = (SQLSelectStatement) parser.parseStatementList().get(0); String text = TestUtils.outputOracle(stmt); Assert.assertEquals(expect, text); System.out.println(text); } @Test public void test_oracle_2() throws Exception { String sql = "SELECT last_name, employee_id, manager_id, LEVEL\n" + "FROM employees\n" + "START WITH employee_id = 100\n" + "CONNECT BY PRIOR employee_id = manager_id\n" + "ORDER SIBLINGS BY last_name;"; String expect = "SELECT last_name, employee_id, manager_id, LEVEL\n" + "FROM employees\n" + "START WITH employee_id = 100\n" + "CONNECT BY PRIOR employee_id = manager_id\n" + "ORDER SIBLINGS BY last_name;\n"; OracleStatementParser parser = new OracleStatementParser(sql); SQLSelectStatement stmt = (SQLSelectStatement) parser.parseStatementList().get(0); String text = TestUtils.outputOracle(stmt); Assert.assertEquals(expect, text); System.out.println(text); } }