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);
}