/* * Copyright 2014 Alibaba.com All right reserved. This software is the * confidential and proprietary information of Alibaba.com ("Confidential * Information"). You shall not disclose such Confidential Information and shall * use it only in accordance with the terms of the license agreement you entered * into with Alibaba.com. */ package com.alibaba.druid.bvt.sql.sqlserver; import org.junit.Assert; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.sqlserver.parser.SQLServerStatementParser; import com.alibaba.druid.sql.test.TestUtils; import junit.framework.TestCase; public class SQLServerIfTest extends TestCase { public void test() { String sql = "if @is_exists is null begin insert into Inventory_1 (co_id,sku_id,order_lock) values (@0,@1,@2) end else begin insert into Inventory_2 (co_id,sku_id,order_lock) values (@0,@1,@2) end "; String expect = "IF @is_exists IS NULL"// + "\n\tBEGIN"// + "\n\t\tINSERT INTO Inventory_1 (co_id, sku_id, order_lock)"// + "\n\t\tVALUES (@0, @1, @2);"// + "\n\tEND"// + "\nELSE"// + "\n\tBEGIN"// + "\n\t\tINSERT INTO Inventory_2 (co_id, sku_id, order_lock)"// + "\n\t\tVALUES (@0, @1, @2);"// + "\n\tEND"; SQLServerStatementParser parser = new SQLServerStatementParser(sql); SQLStatement stmt = parser.parseStatementList().get(0); String text = TestUtils.outputSqlServer(stmt); Assert.assertEquals(expect, text); // System.out.println(text); } }