Construct a large SQL statement, Insert into wer(A1,A2...A1000) Values(@a1,@a2,...@a1000). There are 1000 parameters in it. Just assign values to the parameter array in a loop and then execute it.
You can use a loop to generate this string
string Sql,param;
Sql="";param="";
for(int i=1;i{
Sql ="A" i.ToString() ",";
param ="@a" i.ToString() ",";
}
Sql="Insert into wer("Sql.Substring(0,Sql.Length-1) ") Values ("param.Substring(0,param.Length-1));
Assign a value to the parameter array of this Sql, and then execute this SQL;
But I remember that under 2000, the maximum length of a single SQL command was 4K bytes (I don’t remember clearly, you can try it yourself). If there are 1000 fields, just writing the field names will exceed 4K bytes.
If the SQL statement is too common, it needs to be split into two, one inserts and returns an id, and then updates based on the second one, or you can bring an id yourself in the parameters.
declare
--Define the IntArray type, which is an array in which each element is of type int
Type IntArray is table of int;
--Define a variable of type IntArray
v_array IntArray := IntArray();
begin
--Storing data into the array
for i in 1.. 100 loop
--Need to expand array
v_array.extend;
v_array(i) := i;
end loop;
--Output the contents of the array
for i in 1.. 100 loop
dbms_output.put_line(v_array(i));
end loop;
end;
SQL>set serverout on;
SQL>declare
2 --Define the IntArray type, which is an array in which each element is of type int
3 Type IntArray is table of int;
4 --Define a variable of type IntArray
5 v_array IntArray := IntArray();
6 begin
7 --Storing data into the array
8 for i in 1.. 100 loop
9 --Need to expand array
10 v_array.extend;
11 v_array(i) := i;
12 end loop;
13
14 --Output the contents of the array
15 for i in 1.. 100 loop
16 dbms_output.put_line(v_array(i));
17 end loop;
18 end;
19 /
1
2
3
4
5
6
7
8
9
10
Omit 90 lines here
PL/SQL procedure successfully completed
SQL>
public class ddd {
public static void main(String args[]){
String driverClass="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost:3306/find";//find database name
String user="root";//
String password="root";//MYSQL
Connection conn;
try {
Class.forName(driverClass).newInstance(); conn=DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement();
int i=0;
String a[]={"sad","dsds","dsfss"};
String sql="insert into XX values (null,'" a[i] "')";
for(i=0;i
int rs=stmt.executeUpdate(sql);
}catch(Exception ex){
ex.printStackTrace();
}
}
Create a table with two columns, ID and word; ID is set to increase automatically;
If you have any questions, please contact me.
The above is the detailed content of How to enter data into SQL database using arrays. For more information, please follow other related articles on the PHP Chinese website!