sql >> Base de Datos >  >> RDS >> Sqlserver

Realizar unión si existe una tabla con estos nombres

Envuelva el siguiente código en el procedimiento almacenado:

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;

Puede agregar más filtros cuando el nombre de la tabla se extrae de [sys].[tables] ver.