2011-10-15 2 views
1

Dans Sql Server 2005, J'ai une procédure stockée dans laquelle j'ai écrit quelques commandes pour créer une table et y ajouter des enregistrements.Comment utiliser plusieurs bases de données à partir d'une procédure stockée dynamiquement

Create Procedure Procedure1 AS 
Begin 
    create table TmpTable(CD Decimal(10,0), Descr Varchar(50)); 
    Insert Into TmpTable Values(0,'Not Applicable'); 
    Insert Into TmpTable Values(1,'ALL'); 
    Insert Into TmpTable Values(2,'Selected'); 
    Insert Into TmpTable Values(3,'Only New'); 
END 

Je veux créer ce tableau dans toutes les bases de données disponibles, je ne sais pas, combien de bases de données sont disponibles lorsque j'appelle cette procédure de magasin.

Répondre

1

Vous pouvez essayer de parcourir la liste des bases de données sur votre serveur à l'aide d'un curseur, puis à l'intérieur de la boucle pour que le curseur exécute le code ci-dessus. SQL Server à travers sa base de données principale dans laquelle chaque instance de serveur a des fonctions que vous pouvez appeler pour obtenir des informations d'étau du système.

J'ai fait quelque chose par le passé.

Essayez d'avoir un regard sur ce lien, nous espérons qu'il sera utile pour vous:

http://sqlserverplanet.com/tsql/list-all-tables-in-a-database/

Questions connexes