sql >> Database >  >> RDS >> Sqlserver

Voer Union uit als een tabel met deze namen bestaat

Wikkel de volgende code in de opgeslagen 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;

U kunt meer filters toevoegen wanneer de tabelnaam wordt geëxtraheerd uit de [sys].[tables] bekijken.




  1. CONCAT meerdere velden naar een enkel veld, enkele spatie

  2. Transacties afhandelen in MySQL

  3. Databasetaakverdeling:gedistribueerde versus gecentraliseerde instellingen

  4. SQL Server-tabellen:wat is het verschil tussen @, # en ##?