2009-10-19 9 views
0
insérer

J'ai une base de données SQL (fichier sdf)requête SQL: Comment faire une boucle avec des données similaires

Je voudrais créer des enregistrements fictifs pour remplir la base de données pour une taille fixe de dire 22 Mégaoctets.

J'ai une simple commande d'insertion:

INSERT INTO Connexion (Temps, Source, MyID, SubID, Description) VALUES ('2009-09-17 01:20:35', '1', '1', '60', 'Test Record')

Ce que je dois faire est de pouvoir créer une boucle qui fait cette insertion jusqu'à ce que le fichier de base de données atteigne une taille fixe, c'est-à-dire 22 Megs.

S'il vous plaît pouvez-vous aider avec l'exemple de code. J'utilise l'explorateur de serveur pour ma connexion de base de données. Je ne pouvais pas installer le serveur SQL ne peut donc pas utiliser studio de gestion :-(

Je dois ajouter dans la commande en une seule requête :-) s'il vous plaît

Répondre

1

Si vous voulez simplement exécuter cette une commande plusieurs fois, essayez ceci:

INSERT INTO Log (Time, Source, MyID, SubID, Description) 
VALUES ('2009-09-17 01:20:35', '1', '1', '60', 'Test Record') 
GO 255 

Si vous spécifiez un nombre après le "GO", il sera exécuté plusieurs fois de suite.

Marc

+0

J'obtiens l'erreur Source: SQL Server Compact ADO.NET Data Provider Message d'erreur: Une Erro analyse de la requête. Jeton en erreur = GO Pls pouvez-vous aider? Rgds :-) –

+0

Vous ne pouvez pas utiliser cela à partir d'un SqlCommand - uniquement à partir de SQL Server Management Studio, désolé, je n'étais pas clair sur ce point. –

0

Vous pouvez jouer avec cela pour vérifier la taille de la table, etc. plutôt que la taille de la base de données. Ou pour agréger des tailles de fichiers de données si vous avez plusieurs fichiers.

WHILE (SELECT size/128 FROM sys.database_files WHERE file_id = 0) < 22 
    INSERT INTO Log (Time, Source, MyID, SubID, Description) 
    VALUES ('2009-09-17 01:20:35', '1', '1', '60', 'Test Record') 
Questions connexes