Comment exécuter une procédure stockée pour une autre base de données?

J'ai une procédure stockée qui devrait pouvoir être exécuté sur toutes les tables d'une base de données sur mon Serveur MS Sql. Plus de la combinaison de l'EXEC et UTILISER des énoncés n'ai pas de résultat dans quoi que ce soit. Voici la procédure stockée:

CREATE PROCEDURE [dbo].[usp_TrimAndLowerCaseVarcharFields]
(
    @Database VARCHAR(200),
    @TableSchema VARCHAR(200),
    @TableName VARCHAR(200)
)
AS
BEGIN
    DECLARE @sSql VARCHAR(MAX)

    SET @Database = '[' + @Database + ']'
    SET @sSql = ''

    -- Create first part of a statement to update all columns that have type varchar
    SELECT @sSql = @sSql + COLUMN_NAME + ' = LOWER(RTRIM(' + COLUMN_NAME + ')), ' 
    FROM INFORMATION_SCHEMA.COLUMNS 
    WHERE DATA_TYPE = 'varchar'
    AND TABLE_CATALOG = @Database
    AND TABLE_SCHEMA = @TableSchema
    AND TABLE_NAME = @TableName

    SET @sSql = 'UPDATE ' + @Database + '.' + @TableSchema + '.' + @TableName + ' SET ' + @sSql

    -- Delete last two symbols (', ')
    SET @sSql = LEFT(@sSql, LEN(@sSql) - 1)

    EXEC(@sSql)
END

S'il vous plaît, des conseils de ce que j'ai à faire pour l'exécuter sur [OtherDB].[TargetTable].

OriginalL'auteur Oleg Sakharov | 2011-11-21