Deveel.Data.TriggerTests.CreateProcedureTrigger C# (CSharp) Méthode

CreateProcedureTrigger() private méthode

private CreateProcedureTrigger ( IQuery query, ObjectName tableName ) : void
query IQuery
tableName ObjectName
Résultat void
        private void CreateProcedureTrigger(IQuery query, ObjectName tableName)
        {
            var procedurName = ObjectName.Parse("APP.proc1");
            var body = new PlSqlBlockStatement();
            body.Declarations.Add(new DeclareVariableStatement("a", PrimitiveTypes.Integer()));
            body.Statements.Add(new AssignVariableStatement(SqlExpression.VariableReference("a"), SqlExpression.Constant(33)));
            var procedureInfo = new PlSqlProcedureInfo(procedurName, new RoutineParameter[0], body);

            query.Access().CreateObject(procedureInfo);

            var triggerName = ObjectName.Parse("APP.trigger2");
            var eventTime = TriggerEventTime.After;
            var eventType = TriggerEventType.Insert | TriggerEventType.Update;

            var triggerInfo = new ProcedureTriggerInfo(triggerName, tableName, eventTime, eventType, procedurName);
            query.Access().CreateObject(triggerInfo);
        }