2010-11-02 2 views
2

Dans le serveur SQL 2005/2008, quelqu'un peut-il s'il vous plaît me conseiller sur comment puis-je générer automatiquement des scripts de tous les objets qui permettent dire commence par « Client_ »Générer automatiquement des scripts en donnant les noms d'objets dans le serveur SQL

je l'ai déjà avoir une requête qui identifie tout l'objet qui commence à partir de "client_", mais je veux aussi y générer automatiquement des scripts. Le faire manuellement est une tâche énorme.

select name,type_desc 
from sys.objects 
where object_definition(object_id) like '%client_%' 

S'il vous plaît conseiller

merci massives Amit

+0

Si vous publiez code ou XML, ** S'il vous plaît ** mettre en évidence les lignes dans l'éditeur de texte et cliquez sur le bouton « code » (101 010) sur la barre d'outils de l'éditeur pour formater bien et la syntaxe surligner ! –

Répondre

2

Je pense que vous devriez utiliser la procédure système sp_helptext dans votre instruction select. vous pouvez également utiliser le curseur de base de données pour effectuer l'exécution de sp_helptext dans une boucle:

DECLARE @name SYSNAME -- object name 
DECLARE @type_desc VARCHAR(MAX) -- path for backup files 
DECLARE @sql VARCHAR(MAX) 

DECLARE db_cursor CURSOR FOR 
select name,type_desc 
from sys.objects 
where object_definition(object_id) like '%client_%' 

OPEN db_cursor 
FETCH NEXT FROM db_cursor INTO @name, @type_desc 

WHILE @@FETCH_STATUS = 0 
BEGIN 
    SET @sql = 
    'sp_helptext @objname = ''' + @name + '''' 

    EXEC (@sql) 

    FETCH NEXT FROM db_cursor INTO @name, @type_desc 
END 

CLOSE db_cursor 
DEALLOCATE db_cursor 

solution supplémentaire est d'utiliser sys.syscomments vue du système. Exemple:

SELECT o.name, o.[type], s.[text] 
from sys.objects o 
INNER JOIN sys.syscomments s ON o.[object_id] = s.id 
where object_definition(object_id) like '%client_%' 
-1

Je pense qu'il n'y a pas l'outil qui permettra de résoudre votre but. Sinon, utilisez un script pour tous et supprimez le script supplémentaire dont vous n'avez pas besoin.

+0

Eh bien, j'ai des milliers de scripts. de toute façon merci de regarder dans ma question – Amit

+0

c'est ok c'est mon opinion seulement. – KuldipMCA

Questions connexes