2009-10-02 5 views
0

J'ai une certaine expérience avec SQL Server 2005 et j'ai écrit de nombreux scripts qui ont juste une instruction BEGIN et un END. Je pourrais employer la logique telle que des boucles, des curseurs, etc. Cependant je ne peux pas sembler pouvoir faire ceci dans MySQL sans créer une procédure stockée. Je sais que les procs stockés dans MySQL sont nouveaux et pourraient ne pas être aussi robustes que ceux de SQL Server mais il y a quand même juste un script générique que je veux juste lancer une fois pour ne pas avoir à retourner dans ma base de données et supprimez tous ces procs stockés plus tard?Pouvez-vous créer un script générique qui n'est pas une procédure stockée?

pour clarifier un peu ce que je suis en train de faire est de créer un script qui va créer plusieurs talbes, par exemple

BEGIN 
    CREATE TABLE foo(id INT, data VARCHAR(100)); 
    CREATE TABLE test(t_id INT, data VARCHAR(50)); 
END; 

Est-ce possible dans MySQL?

Répondre

1

Vous n'avez pas besoin et les beginend mots-clés dans MySQL, ce qui suit fonctionnera:

CREATE TABLE foo(id INT, data VARCHAR(100)); 
CREATE TABLE test(t_id INT, data VARCHAR(50)); 

Vous pouvez également utiliser une clause if not exists pour vous assurer que vous ne recevez pas d'erreurs si la table (s) existent déjà:

CREATE TABLE IF NOT EXISTS foo(id INT, data VARCHAR(100)); 
CREATE TABLE IF NOT EXISTS test(t_id INT, data VARCHAR(50)); 
+0

Je l'ai déjà essayé et pour une raison quelconque, il ne créera que la première table. J'utilise le navigateur de requêtes dans MySQL Admin pour exécuter les requêtes. Est-ce mon problème? –

0

Désolé, je l'ai compris. J'essayais d'exécuter le script dans le créateur SQL générique en haut au lieu d'aller à l'onglet Fichier -> Nouveau script et d'essayer d'exécuter le script là-bas. Merci pour votre aide

+0

Heh, j'ai eu le même problème quand j'ai commencé à utiliser Query Browser, c'est un peu inintéressant - et le fait qu'il n'affiche pas les résultats de l'exécution du script est nul. :(MySQL travaille sur un programme de remplacement appelé Workbench (http://wb.mysql.com/) qui ressemble au Management Studio de MSSQL.C'est très bêta mais je l'utilise depuis un moment et je le trouve beaucoup plus utile que Navigateur de requêtes, pensez donc à l'essayer. –

Questions connexes