Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS SQL Server > Как сделать ALTER для Computed Column


Автор: maxxim010485 14.12.2010, 13:06
Привет всем!

Подскажите, пожалуйста, как сделать Alter для Computed Column: т.е. имеется колонка таблицы, в которой вбита формула. Нужно написать запрос для изменения формулы. 

Описание таблицы:
Код

CREATE TABLE [dbo].[TEMPLATE_DebugTemplate1_4](
    [CriterionRange_1] [int] NOT NULL,
    [CriterionRange_2] [int] NOT NULL,
    [CriterionRange_3] [int] NOT NULL,
    [CriterionString_1] [varchar](200) COLLATE Cyrillic_General_CI_AS NOT NULL,
    [CriterionBool_1] [bit] NOT NULL,
    [Result]  AS (([CriterionRange_1]*(10)+[CriterionRange_2]*(20))+[CriterionRange_3]*(30)),
    [ConversationId] [int] NOT NULL
) ON [PRIMARY]


[Result] - то самое поле, значение формулы которого нужно изменить.

Всем заранее огромное спасибо)))

Автор: Akina 14.12.2010, 13:12
Вычисляемое поле нельзя изменять. Можно только удалить и создать новое.

Автор: maxxim010485 14.12.2010, 13:15
Цитата(Akina @ 14.12.2010,  13:12)
Вычисляемое поле нельзя изменять. Можно только удалить и создать новое.

А как же я тогжа в MSSQL Server Management Console очень запросто меняю значения свойства (Formula) для колонки [Result]. И при этом у меня значение для всех записей в таблице пересчитывается?!

Автор: Akina 14.12.2010, 13:52
Цитата
[skipped]
ALTER COLUMN 
[skipped]
The modified column cannot be any one of the following:
[skipped]
A computed column or used in a computed column.

Вот http://msdn.microsoft.com/en-us/library/ms190273.aspx - полностью. Читай.

Цитата(maxxim010485 @  14.12.2010,  14:15 Найти цитируемый пост)
очень запросто меняю 

Попробуй подумать. Должно получиться.

Автор: maxxim010485 14.12.2010, 14:02
Спасибо за информацию. 
Попробую подумать. Получится

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)