2010-04-12 24 views

Répondre

2

utiliser seulement en boucle:

declare var1 int 
select var1 = 0 
BEGIN 
WHILE (var1 < 50) DO 
    insert... 
    Select var1 = var1 + 1 
END WHILE; 
END 
+0

Génial, merci! – Cam

+0

Hmm. Essayé, mais l'instruction d'insertion ne fonctionne pas (il crache une erreur, pointant vers l'instruction d'insertion et me dit de vérifier ma syntaxe là). J'utilise 'INSERT INTO myTable (données, num) VALUES ('textdata', 1234)'. Chose étrange est, cela fonctionne bien seul comme un seul insert. Des idées? – Cam

+0

De même, comment puis-je incrémenter le compteur var1? – Cam

0

Brutal mais efficace:

INSERT INTO MyTable (data, num) 
SELECT 'textdata' as data, 1234 as num 
FROM 
(SELECT 1 
    UNION ALL 
    SELECT 1 
) as a, 
(SELECT 1 
    UNION ALL 
    SELECT 1 
    UNION ALL 
    SELECT 1 
    UNION ALL 
    SELECT 1 
    UNION ALL 
    SELECT 1 
) as b, 
(SELECT 1 
    UNION ALL 
    SELECT 1 
    UNION ALL 
    SELECT 1 
    UNION ALL 
    SELECT 1 
    UNION ALL 
    SELECT 1 
) as c 
0

Si vous avez une table existante au hasard qui a plus de lignes que vous souhaitez insérer, vous pouvez le faire:

insérer dans la table 1 (ligne 1, ligne 2), sélectionner valeur1 identique, valeur2 identique de limite table2 50

par exemple:

insert dans table1 (Myint, mystr, mystr2) sélectionner 123, "bonjour", "monde" de table2 limiter 50



- Notez que vous n'êtes pas de quoi que ce soit insérez table2

Questions connexes