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) { 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