跑批量时 在java代码中这么写,各位帮我看一下这是什么意思

PreparedStatementps=null;StringBuffersb=newStringBuffer();sb.append("INSERTINTORPT_TR... PreparedStatement ps = null;
StringBuffer sb = new StringBuffer();
sb.append("INSERT INTO RPT_TRADE(MON_DATE,BR_NO,BR_LEV,TRADE_NO,USE_NO,VOU_TYPE,BAL,AMT) ");
sb.append("SELECT ?,BR_NO,'0',LN_TRADE_NO,LN_USE,VOU_TYPE,SUM(BAL),");
sb.append("SUM(CASE SUBSTR(BEG_DATE,1,6) WHEN ? THEN DUE_AMT ELSE 0.00 END) ");
sb.append("FROM RPT_XD GROUP BY BR_NO,LN_TRADE_NO,LN_USE,VOU_TYPE");
ps = conn.prepareStatement(sb.toString());

这个sb拼出来的sql能运行吗 怎么解释啊
ps.setString(1, mon_date);
ps.setString(2, mon_date.substring(0, 6));
count = ps.executeUpdate();
conn.commit();
展开
 我来答
滴吊吟
2013-05-06 · TA获得超过361个赞
知道小有建树答主
回答量:214
采纳率:0%
帮助的人:140万
展开全部
看这段代码大概的意思是,复制处理后的一张表的信息到另一张表,但是我不明白为什么要在select后面放?号进去,列名还需要set进去?一般只有在查询条件的时候才用问号代替的。没仔细看sql,但个人感觉不可行。
追问
这个是已经在用的代码  我拿下来看看的  但是没太看明白  公司系统在用的 。。。只是不知道为什么这样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友945961642
2013-05-06 · 超过22用户采纳过TA的回答
知道答主
回答量:86
采纳率:0%
帮助的人:46.9万
展开全部
INSERT 语句的完整句法如下:
INSERT [INTO] {table_name|view_name} [(column_list)] {DEFAULT VALUES |
Values_list | select_statement}

select 后面的第一个?是日期,可以这样用的
追问
啊  原来是这样  就是不用values关键字也行是吧  恩恩  数据库真是复杂啊  谢谢啊
追答
一般会跟上"values", 那样看起来很清楚
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式