Указание ширины символа и типа сжатия программно - PullRequest
1 голос
/ 04 июля 2011

В SQL Server 2008 рассмотрим таблицу

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

где X - это целое число переменного размера, а Y - это либо «строка», «страница», либо «нет». В эксперименте я хотел бы указать X и Y программно в T-SQL, чтобы я мог измерить ряд показателей производительности для большого (!) Количества различных (X, Y) пар.

Однако следующее не разрешено:

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

Как я могу затем программно указать ширину символа и тип сжатия?

1 Ответ

0 голосов
/ 04 июля 2011

Вы можете использовать динамический SQL, например:

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