最近有个功能是需要重置不同身份的密码根据不同的规则,其中一个规则就是手机号码后六位,有多个身份,并且底层数据封装的比较死,只能通过公用方法去更新密码,但是这好几个身份都有共同的数据特性,用户编码,用户名称,手机号码,将这些字段存入一张临时表,在开始时根据需要选中某个单位的某个身份进行密码重置,这就涉及多个表插入临时表,当数据多的时候每次插入一条记录,一万条数据执行一万次记录很不现实,所以需要执行一次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)
{
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 = "15641481111";
strTelphone.substring(strTelphone.length -6); //后六位
标签:语句,FIELD2,INTO,TABLENAME,VALUES,strSQL,VALUE1,sql,oracle
来源: https://www.cnblogs.com/LiuFqiang/p/13565457.html