Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Esegui unione se esistono tabelle con questi nomi

Racchiudere il codice seguente nella stored procedure:

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;

Puoi aggiungere più filtri quando il nome della tabella viene estratto da [sys].[tables] visualizza.