sql-server - SQL Server 根据模板或现有表创建具有不同表名的动态表
问题描述
我的团队正在创建一个大容量数据处理工具。这个想法是获取一个 30,000 行的批处理文件并将其批量加载到表中,然后使用并行处理处理记录。
我坚持的部分是创建动态表。我们想为我们收到的每个文件创建一个新的物理表。表格完成后将通过单独的进程从我们的系统中清除。
我坚持的部分是创建动态表。对于我们收到的每个批处理文件,我需要创建一个具有唯一表名的新物理文件。
我有表的基本结构,我打算使用日期/时间戳和 guid 的组合创建唯一的表名(破折号转换为下划线字符)。
我可以在存储过程中轻松做到这一点,但我想知道是否有更好的方法。
这是我考虑过的...
SQL Server Management Studio 中的模板。这是一个内置于 Management Studio 中的 GUI 工具(来自 Management Studio Ctrl+Alt+T),它允许您定义不同的 sql 对象,包括表并指定参数。这似乎可以工作,但它似乎是一个 GUI 工具,而不是我可以从存储过程中调用的东西。
存储过程。我可以将所有内容放入存储过程中,并将我的文件名和架构构建为 nvarchar(max) 字符串并使用 sp_executesql 创建表。这可能是实现我的目标的方法,但我想知道是否有更好的方法。
以现有表为模板的存储过程。我可以定义一个基表,然后查询 sys.columns 和 sys.datatypes 以创建一个表示新表的字符串。这将允许我向基表添加列,而无需更新我的存储过程。我不确定这是否是更好的方法。
我想知道是否有任何 Stack Overflow 人解决了类似的要求。你有什么建议。
解决方案
推荐阅读
- c - 错误:使用无效的预处理令牌形成粘贴
- python - 'ImageDataGenerator' 对象没有属性 'image_data_generator'
- android - gradle 如何确定从哪个存储库安装?
- forms - access 2016:使用 Alt+Tab 在打开的表单之间切换
- php - 带有恶意代码的 Joomla K2 页面
- html - Google Chrome / macOS:密码字段不接受非 ASCII 字符
- django - 如何在 django REST 框架中返回模型的所有图像
- amazon-web-services - 如何使用我当前的代码将下载文件上传到亚马逊 s3 存储桶
- c# - 使用 Office UI Fabric(没有反应和角度?)
- linux - 实现进度条