SQL Server根据模板或现有表使用不同的表名创建动态表

时间:2019-06-20 12:14:49

标签: sql-server sql-server-2016

我的团队正在创建大量数据处理工具。这个想法是获取一个30,000行的批处理文件并将其批量加载到表中,然后使用并行处理来处理记录。

我坚持的部分是创建动态表。我们要为收到的每个文件创建一个新的物理表。表格完成后,将通过单独的过程从我们的系统中清除。

我坚持的部分是创建动态表。对于我们收到的每个批处理文件,我需要创建一个具有唯一表名的新物理文件。

我具有该表的基本结构,并且打算使用日期/时间戳和guid(将破折号转换为下划线字符)的组合来创建唯一的表名。

我可以在存储过程中很容易地做到这一点,但是我想知道是否有更好的方法。

这就是我所考虑的...

    SQL Server Management Studio中的
  1. 模板。这是Management Studio中内置的GUI工具(来自Management Studio Ctrl + Alt + T),可用于定义包括表的不同sql对象并指定参数。这似乎可行,但是它似乎是一个GUI工具,而不是我可以从存储过程中调用的工具。

  2. 存储过程。我可以将所有内容放入存储过程中,并将文件名和架构构建为nvarchar(max)字符串,然后使用sp_executesql创建表。这也许是实现我的目标的方法,但我想知道是否有更好的方法。

  3. 以现有表为模板的存储过程。我可以定义一个基表,然后查询sys.columns&sys.dataypes创建一个表示新表的字符串。这将使我可以在基础表中添加列,而不必更新存储过程。我不确定这是否是更好的方法。

我想知道是否有任何Stack Overflow人员解决了类似的要求。您有什么建议。

0 个答案:

没有答案