有几种方法可以在 Excel 中构建表定义。通过 VB 脚本/宏和/或 Excel 公式。 VB 脚本将为更强大的解决方案提供机会,但可能涉及更多。但是,公式可以快速完成大部分工作。
我把一个例子和公式放在一起。在您的问题中,您提供字段名称和字段类型。为可变长度字符串字段和数字字段添加字段宽度和精度会很有帮助。您还提到您正在使用 SQL Server。在这种情况下,我会在电子表格中使用实际的 SQL Server 字段类型。例如,使用“VARCHAR”而不是“TEXT”。下面是一个例子:
|A |B |C |D |E |F
-------------------------------------------------- ----------------------
1|字段名称|字段类型|字段宽度|精度| |
2| | | | |CREATE TABLE table1 ( |键入的文本
3|ID |整数 | | |Id 整数 , |公式
4|名称 |Varchar |30 | |名称 Varchar( 30 ), |公式
5|出生日期|日期| | |DateOfBirth 日期 , |公式
6|HoursWorked|数字 |5 |2 |HoursWorked 数字(5, 2),|公式
7| | | | |) |键入的文本
8| | | | |go |键入的文本
Snapshot of table creation Excel worksheet
在示例中,E 列的第 2 行到第 8 行包含生成的 SQL 脚本。此外,E 列第 2 行只是作为文本直接输入。 E 列第 7 行和第 8 行也是如此。
对于 E 列的第 3 行到第 6 行,输入了一个公式。
E 列第 3 行中的公式如下:
=IF(ISNUMBER(D3),TRIM(CONCATENATE(A3," ",B3,"( ",C3,", ",D3,"),")),IF(ISNUMBER(C3),TRIM(CONCATENATE(A3," ",B3,"( ",C3," ",D3,"),")),TRIM(CONCATENATE(A3," ",B3," ",C3," ",D3,","))))
该公式一旦粘贴到 E 列第 3 行,就可以向下复制到第 6 行。
然后可以将 E 列第 2 行到第 8 行中的结果复制并粘贴到 SQL Server Management Studio 中以创建 table1。
注意:一旦脚本在 Management Studio 中,请删除最后一个字段定义中的“,”。之所以存在,是因为 Excel 公式不够稳健,无法阻止它出现。