Несколько вопросов по MS SQL Server
От: Tesh США  
Дата: 28.01.10 12:08
Оценка:
MS SQL Server 2005/2008
Скажите, какой кроется смысл в создании вьюшек, полностью копирующих собой структуру таблицы?
Пример:
Таблица со столбцами столбец1, столбец2.
Вьюшка с запросом
SELECT столбец1, столбец2 FROM Таблица

И еще встретил такой код:
IF @WorkflowStatusId = 0 /* Running */
    SELECT @query = @query + cast( 2 as char(1) ) + ', ' + cast( 4 as char(1) ) + ', ' + cast( 8 as char(1) ) + ', ' + cast( 10 as char(2) ) + ', ' + cast( 11 as char(2) ) + ', ' + cast( 12 as char(2) ) + ' ) '
ELSE IF @WorkflowStatusId = 1 /* Completed */
    SELECT @query = @query + cast( 1 as char(1) ) + ' ) '
ELSE IF @WorkflowStatusId = 2 /* Suspended */
    SELECT @query = @query + cast( 3 as char(1) ) + ' ) '
ELSE IF @WorkflowStatusId = 3 /* Terminated */
    SELECT @query = @query + cast( 9 as char(1) ) + ' ) '
ELSE IF @WorkflowStatusId = 4 /* Created */
    SELECT @query = @query + cast( 0 as char(1) ) + ' )  OR [wie].[TrackingWorkflowEventId] IS NULL ' -- Not tracking workflow events


Какой смысл в cast(0 as char(1)) + ' ) OR ' в этом случае? почему не написать '0 ) OR '?
Re: Несколько вопросов по MS SQL Server
От: sunsquirel США  
Дата: 28.01.10 12:33
Оценка:
Здравствуйте, Tesh, Вы писали:

T>MS SQL Server 2005/2008

T>Скажите, какой кроется смысл в создании вьюшек, полностью копирующих собой структуру таблицы?

T>Какой смысл в cast(0 as char(1)) + ' ) OR ' в этом случае? почему не написать '0 ) OR '?


Никакого. Приведенный Вами код выглядит совершенно безумным, даже представить не могу, с какой целью городили весь этот огород
Re: Несколько вопросов по MS SQL Server
От: Nonmanual Worker  
Дата: 28.01.10 13:02
Оценка: 1 (1) +1
Здравствуйте, Tesh, Вы писали:

T>MS SQL Server 2005/2008

T>Скажите, какой кроется смысл в создании вьюшек, полностью копирующих собой структуру таблицы?
Возможно планировалось в дальнейшем поменять структуру таблиц (например разбить на части по горизонтали или вертикали) и вьюхи были сделаны чтобы обеспечить неизменность внешнего представления данных в этом случае.

T>Какой смысл в cast(0 as char(1)) + ' ) OR ' в этом случае? почему не написать '0 ) OR '?

С++ style?
Re: Несколько вопросов по MS SQL Server
От: vmpire Россия  
Дата: 28.01.10 15:24
Оценка: 1 (1) +1
Здравствуйте, Tesh, Вы писали:

T>MS SQL Server 2005/2008

T>Скажите, какой кроется смысл в создании вьюшек, полностью копирующих собой структуру таблицы?
T>Пример:
T>Таблица со столбцами столбец1, столбец2.
T>Вьюшка с запросом
T>SELECT столбец1, столбец2 FROM Таблица
Смыслов может быть несколько, например:
— Обеспечить неизменный интерфейс для последующих изменений
— Иметь возможность сделать на view другие права доступа
— Иметь возможность сделять view индексированным по не такому полю как в таблице
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.