在Excel中基于定​​义行在SQL Server中创build一个表,但不使用采样

我想在SQL Server中创build一个表格,并在下面的行中定义列名称和types – 请在图片后面读取。 喜欢这个:

在这里输入图像说明

我已经研究并了解了如何在excel中定义COLUMNS,并在每个列的下面给出一些示例值,SQL Server会自动创build一个包含这些列的表,但列types是在对第一个,比方说100行(你可以调整采样大小)。 这不适合我。 我的表格有很多变化(VarChar1,2,3,5甚至CHAR)。 所以我想能够使用上面描述的描述来定义它。 任何人都有解决scheme? 提前谢谢你!

在我的解决scheme中,首先您需要将定义导入到表中。

然后你可以生成一个脚本并执行它来创build表格。

-- Sample Data in Temp Table #tt CREATE TABLE #tt ( fieldname VARCHAR(50) , datatype VARCHAR(50) ) INSERT INTO #tt VALUES ('FirstName', 'varchar(20)'), ('LastName', 'varchar(20)'), ('Age', 'int') -- Generate Script DECLARE @sqlText VARCHAR(max) = ( SELECT 'CREATE TABLE YourTableName (' + CHAR(13) + STUFF(( SELECT ', ' + fieldname + ' ' + datatype + '$$' FROM #tt --ORDER BY fieldname --commented out FOR XML PATH('') ), 1, 1, '') + ')' ) SET @sqlText = replace(@sqlText, '$$', CHAR(13)) PRINT @sqlText -- Execute EXEC (@sqlText) 

在我的例子中,生成的脚本将是

 CREATE TABLE YourTableName ( Age int , FirstName varchar(20) , LastName varchar(20) )