Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Führen Sie Union durch, wenn eine Tabelle mit diesen Namen vorhanden ist

Fügen Sie den folgenden Code in eine gespeicherte Prozedur ein:

DECLARE @DynamicTSQLStatement NVARCHAR(MAX);

SELECT @DynamicTSQLStatement = STUFF
(
    (
        SELECT N' UNION ALL SELECT * FROM ' + '[' + SCHEMA_NAME([schema_id]) + '].[' + [name] + ']'
        FROM [sys].[tables]
        WHERE [name] LIKE 'TRNS%'
        FOR XML PATH(''), TYPE
    ).value('.', 'NVARCHAR(MAX)')
    ,1
    ,10
    ,''
);

EXEC sp_executesql @DynamicTSQLStatement;

Sie können weitere Filter hinzufügen, wenn der Tabellenname aus [sys].[tables] extrahiert wird ansehen.