Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 SQL Man Studio 2008  [new]
isq1992
Member

Откуда:
Сообщений: 44
Ребята, подскажите, пожалуйста. Создала БД Заявки . Таблица - [Заявки].[dbo].[Заявка] . Мне нуно, чтобы в столбце OnTime записывались данные на основании сравнения . Пишу
ALTER TABLE [Заявки].[dbo].[Заявка]
ALTER COLUMN OnTime case OnTime
when DatePlanCompletionKey<DateCompletionKey
then
set OnTime = '1'
when DatePlanCompletionKey<DateCompletionKey
then
set OnTime = '1'
else
set OnTime = '0'
end

Пишет : Сообщение 156, уровень 15, состояние 1, строка 8
Неправильный синтаксис около ключевого слова "case".
Пыталась без case , просто условным оператором, ошибка у условного оператора.
Сделать вычисляемый столбец формулой не получилось , слишком длинная формула получается
Помогите, плиз, что-то не то делаю. Вьюху писать не хочу (((
15 янв 18, 14:42    [21107881]     Ответить | Цитировать Сообщить модератору
 Re: SQL Man Studio 2008  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5111
самый последний пример
15 янв 18, 15:03    [21107990]     Ответить | Цитировать Сообщить модератору
 Re: SQL Man Studio 2008  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36893
https://docs.microsoft.com/ru-ru/sql/relational-databases/tables/specify-computed-columns-in-a-table
15 янв 18, 15:04    [21107996]     Ответить | Цитировать Сообщить модератору
 Re: SQL Man Studio 2008  [new]
isq1992
Member

Откуда:
Сообщений: 44
Дедушка,

ALTER TABLE dbo.Заявка DROP COLUMN OnTime;
GO
ALTER TABLE dbo.Заявка ADD OnTime AS
(
case OnTime
when DatePlanCompletionKey<DateCompletionKey
then
set OnTime = '1'
when DatePlanCompletionKey<DateCompletionKey
then
set OnTime = '1'
else
set OnTime = '0'
end


);
Сделала по указанной Вами ссылки, ругается на "<". И при добавлении данных это скрипт будет автоматически отрабатывать?
15 янв 18, 15:32    [21108119]     Ответить | Цитировать Сообщить модератору
 Re: SQL Man Studio 2008  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
isq1992,

case 
when DatePlanCompletionKey<DateCompletionKey
then '1'
else  '0'
end
15 янв 18, 15:37    [21108130]     Ответить | Цитировать Сообщить модератору
 Re: SQL Man Studio 2008  [new]
isq1992
Member

Откуда:
Сообщений: 44
TaPaK,

Спасибо, заработало
17 янв 18, 18:58    [21114737]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить