public virtual void testRemoveSetClauseInUpdate() { parser.sqltext = "UPDATE BLA SET A=2, B=3 WHERE X=5"; Assert.IsTrue(parser.parse() == 0); TUpdateSqlStatement updateSqlStatement = (TUpdateSqlStatement)parser.sqlstatements.get(0); TResultColumnList setClauses = updateSqlStatement.ResultColumnList; setClauses.removeElementAt(0); // System.out.println(scriptGenerator.generateScript(updateSqlStatement, true)); Assert.IsTrue(testScriptGenerator.verifyScript(EDbVendor.dbvoracle , updateSqlStatement.ToScript() , "UPDATE bla\n" + "SET b=3\n" + "WHERE x = 5" )); }
public virtual void testOracleBindVariable() { parser.sqltext = "UPDATE Art SET Desc=:Desc WHERE ID=:ID"; Assert.IsTrue(parser.parse() == 0); TUpdateSqlStatement updateStmt = (TUpdateSqlStatement)parser.sqlstatements.get(0); TResultColumn setClause = updateStmt.ResultColumnList.getResultColumn(0); TExpression assignment = setClause.Expr; // create a vairable TObjectName bindVar = new TObjectName(new TSourceToken(":bindVar"), EDbObjectType.variable); TExpression newVariable = new TExpression(EExpressionType.simple_object_name_t); newVariable.ObjectOperand = bindVar; //set new varaible assignment.RightOperand = newVariable; //Console.WriteLine(updateStmt.ToScript()); Assert.IsTrue(testScriptGenerator.verifyScript(EDbVendor.dbvoracle , updateStmt.ToScript() , "UPDATE Art SET Desc=:bindVar WHERE ID=:ID" )); }