2014-12-17 4 views
-2

У меня есть большой стол, и для тестов я хотел бы сгенерировать скрипт из SQL Server только для этих столбцов. Я думаю, что нет этого варианта ... просто полный скрипт, и мне нужно будет удалить каждый из них.SQL Server - есть ли возможность генерировать сценарий вставки, чтобы не иметь нулевых столбцов (требуемые столбцы)?

Просто для подтверждения.

Спасибо! кто знает.

+0

Вы можете создать сценарий данных самостоятельно. Это действительно не так сложно. –

ответ

0

Вы можете настроить оператор запрашивая системные таблицы - вероятно, больше проблем, чем это стоит, но все-таки выполнимы:

DECLARE @tablename VARCHAR(255) = 'UnprocessedQueueData'; 
WITH columns 
      AS (SELECT STUFF((SELECT ',' + c.name 
           FROM sys.columns c 
             INNER JOIN sys.tables t ON t.object_id = c.object_id 
           WHERE t.name = @tablename 
             AND c.is_nullable = 0 
             AND c.is_identity = 0 
           ORDER BY c.name 
           FOR 
           XML PATH('') 
          ), 1, 1, '') col 
      ) 
    SELECT 'INSERT INTO ' + t.name + ' (' + columns.col 
      + ') SELECT * FROM OtherTable;' 
    FROM sys.tables t 
      CROSS JOIN columns 
    WHERE t.name = @tablename