以编程方式指定char宽度和压缩类型

时间:2011-07-04 18:43:01

标签: sql-server tsql benchmarking

在SQL Server 2008中,请考虑表

create table myTable (id int, filler char(X)) with (data_compression = Y)

其中X是不同大小的整数,Y是“row”,“page”或“none”。在一个实验中,我想在T-SQL中以编程方式指定X和Y,这样我就可以测量大量(!)量的不同(X,Y)对的多个性能指标。

但是,不允许以下内容:

declare @mySize int = 100
create table myTable (id int, filler char(@mySize)) ...

如何以编程方式指定字符宽度和压缩类型?

1 个答案:

答案 0 :(得分:0)

您可以使用动态SQL,例如:

declare @sql varchar(max)
set @sql = 'create table myTable (id int, filler char(' + 
    cast(@X as varchar(12)) + ')) with (compression = ' + @Y + ')'
exec (@sql)