如何根据列数创建临时表?
例如,如果 count 为 20,则创建一个包含 20 列的临时表(都是 nvarchar 类型)。
如果 count 为 10,则创建仅包含 10 列的临时表。
如何根据列数创建临时表?
例如,如果 count 为 20,则创建一个包含 20 列的临时表(都是 nvarchar 类型)。
如果 count 为 10,则创建仅包含 10 列的临时表。
如果您真的很想按照书面方式执行此操作,您可以使用如下动态 SQL:
DECLARE @ColCount int = 20
DECLARE @Ct int = 1
DECLARE @SQL nvarchar(max) = ''
SET @SQL = 'CREATE TABLE #VarTemp('
WHILE @Ct < @ColCount+1
BEGIN
SET @SQL += 'Col' + CAST(@Ct as nvarchar(8)) + ' nvarchar(256),'
SET @Ct = @Ct + 1
END
SET @SQL = LEFT(@SQL, (LEN(@SQL) - 1))
SET @SQL += ')'
SELECT @SQL
只需将输出的 SQL 字符串放入另一个窗口,或者如果您信任它,您可以将其更改SELECT
为EXEC
.