这篇文章给大家介绍怎么从文本文件读入 SQL 参数,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
创新互联是一家集成都网站设计、网站建设、外贸网站建设、网站页面设计、网站优化SEO优化为一体的专业网络公司,已为成都等多地近百家企业提供网站建设服务。追求良好的浏览体验,以探求精品塑造与理念升华,设计最适合用户的网站页面。 合作只是第一步,服务才是根本,我们始终坚持讲诚信,负责任的原则,为您进行细心、贴心、认真的服务,与众多客户在蓬勃发展的市场环境中,互促共生。
有时我们希望把参数列表分行存储在文本文件里,执行SQL时再拼到in函数里,从而查询出符合条件的记录。
但SQL不能解析文本文件,直接拼到in函数里有困难,所以很多人先把文件导入数据库临时表,再用join语句做关联,从而间接实现in函数的功能。但这样一来每当文件变化的时候,都要手工做一遍删表导库的动作,过程还是挺麻烦的。
一劳永逸的做法是用Python、C#等编程语言开发程序,但这类语言技术门槛很高,想学会有点儿难,虽然理论上啥功能都能实现。
如果用esProc,实现这个算法就简单多了,只需短短几行代码:
A | B | |
1 | =file("params.txt").import@i() | /打开文本文件,按行取参数列表 |
2 | =orcl.query("select * from T where P in(?)",A2) | /执行SQL,A2是in函数的参数值 |
参数列表过长的时候就不能用上面的方法了,因为in函数对成员数量有限制,比如Oracle规定不能超过1000个。遇到这种情况也别担心,esProc支持库外通用查询,且支持长参数列表,代码只需这样写:
A | B | |
1 | =file("params.txt").import@i().sort(~) | /读取长参数列表并排序 |
2 | =orcl.cursor("select * from T") | /从库表取出数据 |
3 | =A3.select(A1.contain@b(P)) | /查询符合参数列表的记录 |
esProc是个脚本语言,可以在桌面IDE里执行并调试,可以连接任意数据库并执行SQL。对于SQL难以实现的功能,esProc通常都有办法简化。
关于怎么从文本文件读入 SQL 参数就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。