我正在以数据块的形式索引我的数据库表行,我的查询如下所示:
SELECT S.test_file_result_id,S.syndrome, TDR.start_date AS start_date, TL.job_id AS job_id FROM Syndrome S STRAIGHT_JOIN Test_File_Result TF ON TF.id = S.test_file_result_id STRAIGHT_JOIN Test_Directory_Result TDR ON TDR.id=TF.test_directory_result_id STRAIGHT_JOIN Test_Run TR ON TR.id = TDR.test_run_id STRAIGHT_JOIN Test_Log TL ON TL.id = TR.test_log_id WHERE S.test_file_result_id between ? AND ?
我需要为两者提供不同的值?然后索引查询结果。
有没有办法在运行时更改查询或将值作为参数传递?
提前致谢。
答案 0 :(得分:0)
如果您使用的是data import handler,那么您可以在调用导入URL时传递参数(比如名为param
),并在data-config.xml中像${dataimporter.request.param}
一样访问它。
您可以指定您的查询:
SELECT S.test_file_result_id,S.syndrome, TDR.start_date AS start_date, TL.job_id AS job_id FROM Syndrome S STRAIGHT_JOIN Test_File_Result TF ON TF.id = S.test_file_result_id STRAIGHT_JOIN Test_Directory_Result TDR ON TDR.id=TF.test_directory_result_id STRAIGHT_JOIN Test_Run TR ON TR.id = TDR.test_run_id STRAIGHT_JOIN Test_Log TL ON TL.id = TR.test_log_id WHERE S.test_file_result_id between ${dataimporter.request.min_id} AND ${dataimporter.request.max_id}
并调用导入,如:
/dataimport?command=full-import&min_id=1&max_id=1000