在实际业务中经常需要拼接动态SQL来完成复杂数据计算,网上各类技术论坛都有讨论,比如下面这些问题:
http://bbs.youkuaiyun.com/topics/390876591
http://bbs.youkuaiyun.com/topics/390981627
http://bbs.youkuaiyun.com/topics/390073758
http://bbs.youkuaiyun.com/topics/390611005
拼接动态SQL的一般做法有
1、使用动态语句
很多数据库都提供了处理动态SQL的语法,如Oracle的EXECUTE IMMEDIATE语句、MSSQL的EXEC和SP_EXECUTESQL、Mysql的预处理语句等。这些功能让我们在数据库端来处理动态查询提供了极大遍历,但这种方式只适用于相对简单地动态查询,复杂的情况经常会采用下面的方式。
2、使用存储过程
对于复杂的情况,一般会在存储过程中来拼接动态SQL。使用存储过程完成相对灵活,但编码复杂度过高,有时运行效率较低。
3、使用其他(如JAVA)程序
使用外部的其他高级语言(如JAVA)拼接后再交由数据库执行也是一种选择,其灵活性较高,但由于JAVA缺乏对集合计算的支持,完成这些准备工作并不轻松。
如果需要执行动态S

本文介绍了在Java中处理复杂动态SQL的方法,包括使用动态语句、存储过程以及使用集算器。重点讲述了如何利用集算器进行动态SQL拼接,以解决表结构未知时的更新和查询问题,以及动态表间连接和特殊格式数据更新的场景。通过示例展示了集算器在Java程序中执行动态SQL的脚本和调用过程。
最低0.47元/天 解锁文章
378

被折叠的 条评论
为什么被折叠?



