oracle数据库⼀条sql语句批量插⼊数据
最近有个功能是需要重置不同⾝份的密码根据不同的规则,其中⼀个规则就是⼿机号码后六位,有多个⾝份,并且底层数据封装的⽐较死,只能通过公⽤⽅法去更新密码,但是这好⼏个⾝份都有共同的数据特性,⽤户编码,⽤户名称,⼿机号码,将这些字段存⼊⼀张临时表,在开始时根据需要选中某个单位的某个⾝份进⾏密码重置,这就涉及多个表插⼊临时表,当数据多的时候每次插⼊⼀条记录,⼀万条数据执⾏⼀万次记录很不现实,所以需要执⾏⼀次sql插⼊多条记录到数据库当中
ORACLE 数据库插⼊多条记录的sql结构为:
INSERT ALL
INTO TABLENAME(FIELDS1, FIELD2) VALUES(VALUE1, VALUE2)
INTO TABLENAME(FIELDS1, FIELD2) VALUES(VALUE1, VALUE2)
SELECT 1 FROM DUAL;
与mysql稍有不同,
⽐如在前台根据需要选择要初始化密码的⾝份
StringBuilder strSQL = new StringBuilder ();
if(选中⾝份1)
{
strSQL.Append ("INTO TABLENAME(FIELD1, FIELD2) VALUES (VALUE1, VALUE2  ")
}
if(选中⾝份2)
{
strSQL.Append ("INTO TABLENAME(FIELD1, FIELD2) VALUES (VALUE1, VALUEE2 ")
}
if(选中⾝份3)
批量更新sql语句
{
strSQL.Append ("INTO TABLENAME(FIELD1, FIELD2) VALUES (VALUE1, VALUE2  ")
}
if (strSQL.Length == 0)
{
“未查询到数据”
return;
}
strSQL.Insert (0, "INSERT ALL ");
strSQL.Append (" SELECT 1 FROM DUAL ");
bool = 执⾏sql
在后续截取密码中,先判断⼿机号码是否合法,
strTelphone = "156********";
strTelphone.substring(strTelphone.length -6); //后六位

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。