Sql server 如何为SQL Server中的表名列表生成创建表脚本
有人能帮我使用一个工具/脚本,为一组以逗号分隔或excel文件形式列出的表名生成创建表脚本 我们经常需要为用户提交的几个表(有时没有字母顺序)有选择地生成脚本,并在表中滚动&在SSMS中选择复选框变得单调乏味。SQL Server版本为2017 我使用Profiler查看SSMS是如何生成的,这样我可以调整它以接受列表,但Profiler并没有显示有用的内容 我正在寻找脚本/工具,它是防故障的,并生成类似SSM的脚本。Sql server 如何为SQL Server中的表名列表生成创建表脚本,sql-server,generated-code,Sql Server,Generated Code,有人能帮我使用一个工具/脚本,为一组以逗号分隔或excel文件形式列出的表名生成创建表脚本 我们经常需要为用户提交的几个表(有时没有字母顺序)有选择地生成脚本,并在表中滚动&在SSMS中选择复选框变得单调乏味。SQL Server版本为2017 我使用Profiler查看SSMS是如何生成的,这样我可以调整它以接受列表,但Profiler并没有显示有用的内容 我正在寻找脚本/工具,它是防故障的,并生成类似SSM的脚本。 --在“Thinks”中,假设您有一个以逗号分隔的字符串和表名:“table
--在“Thinks”中,假设您有一个以逗号分隔的字符串和表名:“tablename1,tablename2,tablename3,…,tablenameN” 创建此函数(我接受): 每个表名的脚本如下所示:
SELECT T.value AS TABLE_NAME,
dbo.FN_GET_SQL(TRIM(T.value)) AS SQL_SCRIPT
FROM string_split('tablename1, tablename2, tablename3, ..., tablenameN', ',') T
您提到在某个地方列出了表名,但是列、约束等呢。?这些列在哪里?您可以使用此解决方案。将表名放入服务器上的任何表中,创建字符串函数(基于解决方案),并对每个表名调用此函数。这是否回答了您的问题?请从CSV/Excel文件中添加示例。我也在寻找列定义。@TimBiegeleisen不理解你的问题。我有用户提交的表名,我只需要从服务器为这些表生成表脚本。由于在许多表中浏览这几个表很麻烦,因此寻求帮助以简化此过程。在发布问题之前,我已经浏览了此链接,因为我担心与通过SSM生成的脚本相比,这些脚本是否是防故障的。您是否尝试在具有时态表/约束/分区的复杂表结构上使用它。将尝试一个这样的表并分享结果。非常感谢。
SELECT T.value AS TABLE_NAME,
dbo.FN_GET_SQL(TRIM(T.value)) AS SQL_SCRIPT
FROM string_split('tablename1, tablename2, tablename3, ..., tablenameN', ',') T