Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Извършете обединяване, ако съществува таблица с тези имена

Обвийте следния код в съхранена процедура:

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;

Можете да добавите повече филтри, когато името на таблицата е извлечено от [sys].[tables] изглед.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вмъкнете ръчно в таблица чрез SQL оператор, но ключът се увеличава автоматично

  2. Имате проблеми със съхраняването на UTF-8 в NVarChar в SQL Server 2008

  3. Как да извлечете или конвертирате времеви данни от низ в SQL Server

  4. MS SQL Server и JDBC:затворена връзка

  5. SQL Server - копиране на съхранени процедури от една база данни в друга