Wie zum ausführen von gespeicherten Prozedur für eine andere DB?

Ich habe eine gespeicherte Prozedur, die sollten in der Lage sein, um ausgeführt werden auf einer Tabelle von einer Datenbank auf MS Sql Server. Die meisten der Kombination von EXEC und Anweisungen nicht Folge nichts. Hier wird die gespeicherte Prozedur:

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

Bitte Ratschläge was ich zu tun habe, um es auszuführen auf [OtherDB].[TargetTable].

InformationsquelleAutor Oleg Sakharov | 2011-11-21

Schreibe einen Kommentar