Deveel.Data.CallTests.CreateProcedure3 C# (CSharp) Method

CreateProcedure3() private method

private CreateProcedure3 ( IQuery query ) : void
query IQuery
return void
        private void CreateProcedure3(IQuery query)
        {
            var procName = ObjectName.Parse("APP.proc3");
            var args = new[] {
                new RoutineParameter("a", PrimitiveTypes.String()),
                new RoutineParameter("b", PrimitiveTypes.String(), ParameterDirection.Output)
            };
            var body = new PlSqlBlockStatement();
            body.Declarations.Add(new DeclareVariableStatement("c", PrimitiveTypes.String()));
            body.Statements.Add(new AssignVariableStatement(SqlExpression.VariableReference("c"),
                SqlExpression.VariableReference("a")));
            body.Statements.Add(new AssignVariableStatement(SqlExpression.VariableReference("b"),
                SqlExpression.VariableReference("c")));

            var procInfo = new PlSqlProcedureInfo(procName, args, body);
            query.Access().CreateObject(procInfo);
        }