Пример #1
0
        public void SimpleReturn()
        {
            var body = new PlSqlBlockStatement();

            body.Declarations.Add(new DeclareVariableStatement("a", PrimitiveTypes.Integer()));
            body.Statements.Add(new ReturnStatement(SqlExpression.VariableReference("a")));

            var funName = ObjectName.Parse("APP.fun1");

            AdminQuery.CreateFunction(funName, PrimitiveTypes.Numeric(), body);

            var exists = AdminQuery.Access().RoutineExists(funName);

            Assert.IsTrue(exists);

            var function = AdminQuery.Access().GetObject(DbObjectType.Routine, funName);

            Assert.IsNotNull(function);
            Assert.IsInstanceOf <PlSqlFunction>(function);

            var userFunction = (PlSqlFunction)function;

            Assert.IsNotNull(userFunction.Body);
        }