如何在main agent中实现数据库视图的删除重建并按tdt排序
在AnyLogic主代理中实现自动重建排序视图的函数
步骤1:在主代理中创建create_db_view_arr_tdt函数
在主代理的函数列表里新建一个无返回值的函数,命名为create_db_view_arr_tdt,函数体内写入以下代码:
// 删除已存在的视图(如果存在则执行删除) executeSQL("DROP VIEW IF EXISTS database_view_arr_tdt;"); // 重新创建按tdt列排序的视图 executeSQL("CREATE VIEW database_view_arr_tdt AS " + "SELECT * " + "FROM arrivals " + "ORDER BY tdt;");
步骤2:设置仿真前自动执行函数
在模型的Before simulation run事件中,添加调用代码:
root.create_db_view_arr_tdt();
关键说明
DROP VIEW IF EXISTS语句确保只有视图存在时才执行删除操作,避免因视图不存在触发报错,提升代码鲁棒性executeSQL是AnyLogic内置的数据库操作方法,可直接执行自定义SQL语句操作模型关联的数据库- 每次仿真启动前,这段代码会自动清除旧视图并创建全新的、按
tdt列排序的database_view_arr_tdt视图,完全匹配需求
内容的提问来源于stack exchange,提问作者Kevin Etter
相关产品推荐
相关产品推荐

