有时我们希望把参数列表分行存儲在文本文件可以用二进制读取吗里执行SQL时再拼到in函数里,从而查询出符合条件的记录
但SQL不能解析文本文件可以用二进制读取吗,直接拼到in函数里有困难所以很多人先把文件导入数据库临时表,再用join语句做关联从而间接实现in函数的功能。但这样一来每当文件变化的時候都要手工做一遍删表导库的动作,过程还是挺麻烦的
一劳永逸的做法是用Python、C#等编程语言开发程序,但这类语言技术门槛很高想學会有点儿难,虽然理论上啥功能都能实现
如果用esProc,实现这个算法就简单多了只需短短几行代码:
/打开文本文件可以用二进制读取吗,按行取参数列表 |
/执行SQLA2是in函数的参数值 |
参数列表过长的时候就不能用上面的方法了,因为in函数对成员数量有限制比如Oracle规定不能超过1000个。遇到这种情况也别担心esProc支持库外通用查询,且支持长参数列表代码只需这样写:
/读取长参数列表并排序 |
/查询符合参数列表的记录 |
esProc是個脚本语言,可以在桌面IDE里执行并调试可以连接任意数据库并执行SQL。对于SQL难以实现的功能esProc通常都有办法简化。
这里有优化 SQL 的汇总
esProc 提供叻敏捷的语法体系和丰富的结构化类库可通用地解决 SQL 难题,详情参考