SQL Server Создать динамическую таблицу с различными именами таблиц на основе шаблона или существующей таблицы - PullRequest
0 голосов
/ 20 июня 2019

Моя команда создает инструмент для обработки больших объемов данных. Идея состоит в том, чтобы взять пакетный файл из 30000 строк и массово загрузить его в таблицу, а затем обработать записи, используя параллельную обработку.

Часть, на которой я застрял, - это создание динамических таблиц. Мы хотим создать новую физическую таблицу для каждого файла, который мы получаем. Таблицы будут удалены из нашей системы отдельным процессом после их завершения.

Часть, на которой я застрял, - это создание динамических таблиц. Для каждого пакетного файла, который мы получаем, мне нужно создать новый физический файл с уникальным именем таблицы.

У меня есть базовая структура для таблицы, и я намерен создать уникальные имена таблиц, используя комбинацию метки даты / времени и guid (черты, преобразованные в символы подчеркивания).

Я мог бы сделать это достаточно легко в хранимой процедуре, но мне интересно, есть ли лучший способ.

Вот что я рассмотрел ...

  1. Шаблоны в SQL Server Management Studio. Это инструмент с графическим интерфейсом, встроенный в Management Studio (из Management Studio Ctrl + Alt + T), который позволяет определять различные объекты sql, включая таблицу, и задавать параметры. Кажется, что это будет работать, однако, похоже, что это инструмент с графическим интерфейсом, а не то, что я мог бы вызвать из хранимой процедуры.

  2. Хранимая процедура. Я мог бы поместить все в хранимую процедуру и встроить имя моего файла и схему в строку nvarchar (max) и использовать sp_executesql для создания таблицы. Это может быть способ достижения моей цели, но мне интересно, есть ли лучший способ.

  3. Хранимая процедура с существующей таблицей в качестве шаблона. Я мог бы определить базовую таблицу и затем запросить sys.columns & sys.dataypes, чтобы создать строку, представляющую новую таблицу. Это позволило бы мне добавлять столбцы в базовую таблицу без необходимости обновления хранимой процедуры. Я не уверен, что это лучший подход.

Мне интересно, решали ли какие-нибудь люди с переполнением стека подобные требования. Каковы ваши рекомендации.

...