我正在尝试一些代码。我想以DD-MMM-YYYY
,DD-MMM-YYYY
,DD-MMM-YYYY
格式从文件中读取日期,并使用查询更新数据库表
UPDATE CAL_TABLE
SET HOLIDAY_SIGN = 'N'
WHERE CALENDAR_DATE IN ('01-Jan-2013', '02-Jan-2013', '03-Jan-2013');
那么,我应该从我读取日期的输入文件格式。目前我有txt
和csv
个文件,我可以读取日期并将它们保存到字符串数组中。
将update
语句放入存储过程并将数组作为输入参数发送是一个好主意吗?
哪个会执行更快的update
语句或存储过程?我正在使用JDBC连接。
答案 0 :(得分:1)
我的建议是:
不要将数据作为文本发送到数据库。使用您的Java代码将它们转换为日期对象,并将它们作为查询参数传递给您的数据库。
存储过程通常比其他查询执行得更快,因为一旦您第一次运行它们,它们就会保持编译状态并且执行计划保持可用。话虽如此,如果您总是要发送不同数量的参数,存储过程可能会变得复杂。
答案 1 :(得分:0)
据我所知,有一项IN条款1000项限制。