oracle中如何将参数作为表名进行查询?

nvci19871203 2015-12-02 11:12:18
<select id="queryDepth" parameterClass="java.util.HashMap" resultClass="java.lang.Integer" >
select
I9 as depth
from #terminalTableName#
where
<![CDATA[time > to_date(#startTime#,'yyyy-mm-dd hh24:mi:ss')]]> and
<![CDATA[time < to_date(#endTime#,'yyyy-mm-dd hh24:mi:ss')]]>

<lect>

查询的时候会报表名无效,如果将terminalTableName的值直接放在sql语句中就可以正常查出结果。请问如何解决?
...全文
784 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
nvci19871203 2015-12-03
  • 打赏
  • 举报
回复
确实是mybatis的规则问题,应该将表名用$括起来,即$terminalTableName$
lhdz_bj 2015-12-02
  • 打赏
  • 举报
回复
这个得拼SQL,然后再动态执行这个拼得SQL串。
rick-he 2015-12-02
  • 打赏
  • 举报
回复
#terminalTableName#这是mybatis的规则?
jdsnhan 2015-12-02
  • 打赏
  • 举报
回复
动态sql,动态执行
xu176032 2015-12-02
  • 打赏
  • 举报
回复
mybatis的使用问题,应该是可以传表名的,这不是oracle问题,去查查mybatis使用的规则

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧