Maison > Article > tutoriels informatiques > Comment saisir des données dans la base de données SQL à l'aide de tableaux
Construisez une grande instruction SQL, insérez-la dans les valeurs wer(A1,A2...A1000) (@a1,@a2,...@a1000). Il contient 1000 paramètres. Attribuez simplement des valeurs au tableau de paramètres dans une boucle, puis exécutez-le.
Vous pouvez utiliser une boucle pour générer cette chaîne
chaîne SQL,param;
Sql="";param="";
pour(int i=1;i{
Sql+="A"+i.ToString()+",";
param+="@a"+i.ToString()+",";
}
Sql="Insérer dans wer("+Sql.Substring(0,Sql.Length-1)+") Values ("+param.Substring(0,param.Length-1));
Attribuez une valeur au tableau de paramètres de ce SQL, puis exécutez ce SQL ;
Mais je me souviens qu'en 2000, la longueur maximale d'une seule commande SQL était de 4 Ko (je ne m'en souviens pas clairement, vous pouvez l'essayer vous-même s'il y a 1000 champs, le simple fait d'écrire les noms de champs dépassera 4 Ko).
Si l'instruction SQL est trop courante, vous devez la diviser en deux, en insérer une et renvoyer un identifiant, puis mettre à jour en fonction du second, ou vous pouvez simplement apporter un identifiant dans le paramètre.
déclarer
--Définissez le type IntArray, qui est un tableau dans lequel chaque élément est de type int
Type IntArray est une table d'int ;
--Définir une variable de type IntArray
v_array IntArray := IntArray();
commencer
--Stockage des données dans le tableau
pour moi en 1..100 boucle
--Besoin d'étendre le tableau
v_array.extend;
v_array(i) := i;
fin de boucle ;
--Afficher le contenu du tableau
pour moi en 1..100 boucle
dbms_output.put_line(v_array(i));
fin de boucle ;
fin;
SQL>activer la sortie du serveur ;
SQL>déclarer
2 --Définissez le type IntArray, qui est un tableau dans lequel chaque élément est de type int
3 Type IntArray est une table de int ;
4 --Définir une variable de type IntArray
5 v_array IntArray := IntArray();
6 début
7 --Stockage des données dans le tableau
8 pour moi en 1.. 100 boucle
9 --Le tableau doit être étendu
10 v_array.extend;
11 v_array(i) := i;
12 boucles de fin ;
13
14 --Afficher le contenu du tableau
15 pour moi en 1.. 100 boucle
16 dbms_output.put_line(v_array(i));
17 fin de boucle ;
Fin du 18;
19/
1
2
3
4
5
6
7
8
9
10
90 lignes sont omises ici
Procédure PL/SQL terminée avec succès
SQL>
cours public ddd {
public static void main(String args[]){
String driverClass="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost:3306/find";//find nom de la base de données
String user="root";//
String password="root";//MYSQL
Connexion ;
essayez {
Class.forName(driverClass).newInstance(); conn=DriverManager.getConnection(url,user,password);
Déclaration stmt=conn.createStatement();
int i=0;
String a[]={"triste","dsds","dsfss"};
String sql="insérer dans les valeurs XX (null,'"+a[i]+"')";
pour(i=0;i
int rs=stmt.executeUpdate(sql);
}attraper(Exception ex){
ex.printStackTrace();
}
}
Créez un tableau avec deux colonnes, ID et mot ; le paramètre ID est auto-incrémenté ;
Si vous avez des questions, veuillez me contacter.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!