begin process at 2010 03 19 18:01:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive SQL

 > 

Archives

 > 

Problème avec une requête

 > 

insertion de nombre de 1 à N


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

insertion de nombre de 1 à N

lundi 27 février 2006 à 12:07:10 | insertion de nombre de 1 à N

ftug

Bonjour,

j'aimerai inserer dans une table des nombre de 1 à N avec le moins de requetes possible ( le serveur SQL est déjà bien chargé )

pour l'instant j'ai la methode de boucle WHILE avec une insertion a chaque passage et un compteur pour savoir la valeur a ajouter.
SET @cpt=1
WHILE @cpt<@N
begin
  INSERT INTO table_enumeration ('champ_1') VALUES (@cpt)
  SET @cpt = @cpt + 1
end

une autre solution serait de droper la table et faire des inserts en utilisant un id avec compteur auto-incrémentable.

je cherche a faire 1 seule requete d'insert du format:
INSERT INTO table_enumeration VALUES (SELECT ... )

pour ca, je cherche une requete SELECT qui me renvois des chiffres de 1 à N et qui ne requete sur aucune table.
je ne sais pas si c'est possible mais comme je seche un peu, je me suis dit que l'appelle de la communauté m'aiderai surement.

merci d'avance!
mercredi 1 mars 2006 à 15:16:50 | Re : insertion de nombre de 1 à N

aieeeuuuuu

salut

quel est ton SGBDR ?

a ma connaissance, tu ne pourra faire cela que sous ORACLE uniquement

c'est le seul SGBDR qui permette d'utiliser les "lignes valuées", c'est a dire inserer plusieurs lignes dans une table sans faire plusieurs requete INSERT (et sans utiliser de sous requete SELECT)

par exmple sous oracle tu dois pouvoir faire

INSERT INTO matable (monchamps) VALUES (1,2,3,4)
et ca va inserer 4 lignes

mais sinon je ne vois pas d'autre solution a ton probleme
mercredi 1 mars 2006 à 15:30:25 | Re : insertion de nombre de 1 à N

ftug

je suis malheureusement en SQL server 2000

merci quand même
samedi 4 mars 2006 à 10:23:58 | Re : insertion de nombre de 1 à N

mictif

quelle est le but ?   pour avoir un id auto incremente ?


lundi 6 mars 2006 à 11:10:54 | Re : insertion de nombre de 1 à N

ftug

le but est de faire un tirage au sort.
je veux N ticket sur les M en BdD sans doublon sachant que le N et M peuvent etre proche.

je ne peut donc pas tirer un chiffre et vérifier qu'il n'a pas déjà été tiré. si N est proche de M on obtiens un tps trop grand!

malheureusement je n'ai pas les tickets en BdD seulement le nombre acheté par les utilisateurs.
la méthode de tirage est déjà faite mais j'essaye d'optimisé un peut l'insertion des tickets.

l'allgo est comme ceci:

- on récupère le nombre total de tickets vendu
- on insert chaque ticket en BdD avec son numéro <-- c'est la que j'aurais besion d'une optimisation
- je fait un select TOP M tickets ORDER BY newid()  pour avoir les tickets gagnants rangé aléatoirement
- je fait une recherche pour chaque ticket sur les utilisateurs afin de trouvé a qui il apartient
- je donne son cadeau a l'utilisateur
- je passe au ticket suivant

le reste de l'algo est suffisament optimisé a mon gout mais l'insert de 5000 ou 20000 enrengistrement dans une boucle WHILE me dérange bcp!

merci de l'interet que vous portez a mon problème.
lundi 6 mars 2006 à 15:34:45 | Re : insertion de nombre de 1 à N

aieeeuuuuu

tout depend du programme qui va inserer ces lignes.

mais je pense que tu pourra gagner du temps en utilisant le bulk insert :

tu genere un fichier avec le contenu de ta table, puis tu l'injecte dans la table cible, d'un seul coup. c'est tres rapide, et 20000 lignes, ca ne prendra que quelques secondes.

mardi 28 octobre 2008 à 10:21:50 | Re : insertion de nombre de 1 à N

kadideveloppement

Salut;
je croix on utilise incrementation pour eviter les doublons
cordialement.


Cette discussion est classée dans : insert, nombre, table, insertion, cpt


Répondre à ce message

Sujets en rapport avec ce message

faire une insertion sur plusieures tables [ par tenrod ] bijour!je voudrais savoir si il est possible d'effectuer un insert sur plusieures tables du genre:insert into latable1, latable2, latable3...values va Compter avec SQL [ par roud59 ] Bonjour (Bonsoir) à vous tous. J'ai posé une question (par erreur) sur DelphiFR, mais je pense trouver quelqu'un qui pourra m'aider pus faciement ici. Nombre de ligne optimal d'une table? sql server 2000 [ par vindavid38 ] ZanTarBonjour est ce quelqu'un saurait s'il y a une taille optimale (en nombre de ligne) pour une table avec SQL server 2000.??merci bcp de rep@+ Problème Requête SQL INSERT INTO sous access [ par bonnaud ] Bonjour,J'ai un problème avec une requête INSERT INTO.En fait je veux insérer dans une BDD des champs d'une autre table. Le problème qu'en j'insère ce Insertion d'un résultat d'une requete [ par nounours21_6 ] Bonjour a tousvoila, j'ai deux tables quasiment identiquela différence se porte sur un champdonc j'ai fais une procédure stockée sous SQL Server 2005 Optimisation de requete [ par Antilope ] Bonjour,J'effectue une boucle sur un cursor puis à l'interieur de la boucle un insert dans une table.Du type :for r1 in c1 loop   ......   insert into insert into cherche exemple ... SVP! [ par trexor ] Voilà, c'est pas que j'en ai marre mais je pète un peu les plonds. Pour insérer des données dans une bas access, c'est vraiment la merde avec vb.net!l INSERT a l'id qu'on vient de DELETE [ par Bassman ] Voila j'aimerais savoir sous mysql comment forcé l'insertion dès le "départ", c'est a dire, par exemple dans votre table utilisateur vous venez d'en s vba sous access - insertion d'une requete dans une table [ par bonnaud ] Bonjour, J'ai fait une requête sous access en vba qui me permet de calculer un nouveau champ que j'ai nommé total à partir d'une table. J'arrive à vis [Heritage]insert [ par Bronks_78 ] Bonjour tout le monde . Voila, jai une table adherent et une table pilote qui herite de la table adherent. Je voudrais savoir comment inserez une vale


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales