Deveel.Data.Sql.Statements.AssignVariableStatement.ExecuteStatement C# (CSharp) Méthode

ExecuteStatement() protected méthode

protected ExecuteStatement ( ExecutionContext context ) : void
context ExecutionContext
Résultat void
        protected override void ExecuteStatement(ExecutionContext context)
        {
            string varName;
            if (VariableReference is SqlVariableReferenceExpression) {
                varName = ((SqlVariableReferenceExpression) VariableReference).VariableName;
            } else if (VariableReference is SqlReferenceExpression) {
                varName = ((SqlReferenceExpression) VariableReference).ReferenceName.Name;
            } else {
                throw new StatementException("The type of variable reference is invalid.");
            }

            var variable = context.Request.Context.FindVariable(varName);

            if (variable == null) {
                var varType = ValueExpression.ReturnType(context.Request, null);
                variable = context.Request.Context.DeclareVariable(varName, varType);
            }

            variable.SetValue(ValueExpression);

            context.SetResult(variable.Evaluate(context.Request));
        }