powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не работает UPDATE после alter table - почему?
8 сообщений из 8, страница 1 из 1
Не работает UPDATE после alter table - почему?
    #39904146
Blackmore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL Express 2017

Код: sql
1.
2.
3.
4.
    alter table [dbo].T1
    add InterID bigint null

    update [dbo].T1 set InterID=2



В результате получаю:

авторMsg 207, Level 16, State 1, Line 25
Invalid column name 'InterID'.


Таблица существаует, я - SA на сервере. Что ему не нравится?
...
Рейтинг: 0 / 0
Не работает UPDATE после alter table - почему?
    #39904150
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
alter table [dbo].T1
    add InterID bigint null
go
    update [dbo].T1 set InterID=2
...
Рейтинг: 0 / 0
Не работает UPDATE после alter table - почему?
    #39904177
Blackmore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ок, вот как сейчас делаю:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
if not exists (select 1 from information_schema.columns where table_name = 'T1' and column_name = 'InterID')
begin
    alter table [dbo].T1
    add InterID bigint null

GO
    update [dbo].T1 set InterID=2

    alter table dbo.T1
    alter column InterID bigint not  null
end



В ответ:

Msg 102, Level 15, State 1, Line 21
Incorrect syntax near 'null'.
Msg 102, Level 15, State 1, Line 29
Incorrect syntax near 'end'.



Что на этот раз поменять?
...
Рейтинг: 0 / 0
Не работает UPDATE после alter table - почему?
    #39904185
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blackmore
Ок, вот как сейчас делаю:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
if not exists (select 1 from information_schema.columns where table_name = 'T1' and column_name = 'InterID')
begin
    alter table [dbo].T1
    add InterID bigint null

GO
    update [dbo].T1 set InterID=2

    alter table dbo.T1
    alter column InterID bigint not  null
end



В ответ:

Msg 102, Level 15, State 1, Line 21
Incorrect syntax near 'null'.
Msg 102, Level 15, State 1, Line 29
Incorrect syntax near 'end'.



Что на этот раз поменять?Логику. И научится отличать команды языка от средств инструмента для написания текста на этом языке.
...
Рейтинг: 0 / 0
Не работает UPDATE после alter table - почему?
    #39904187
Фотография Shakill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blackmore,

инструкция go - это разделитель пакетов для ssms. не может блок begin..end начинаться в одном пакете и заканчиваться в другом
пишите два if или в динамике делайте или ещё как-то
...
Рейтинг: 0 / 0
Не работает UPDATE после alter table - почему?
    #39904189
Minamoto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blackmore,


Код: sql
1.
2.
ALTER TABLE #t ADD InterID bigint not  NULL CONSTRAINT DF_InterD DEFAULT 2;
ALTER TABLE #t DROP CONSTRAINT DF_Interd
...
Рейтинг: 0 / 0
Не работает UPDATE после alter table - почему?
    #39904313
Blackmore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shakill,

Знал про это, но думал что может что есть красивое, без EXEC()
...
Рейтинг: 0 / 0
Не работает UPDATE после alter table - почему?
    #39904314
Blackmore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Minamoto,

Да, пожалуй это лучшее, что можно сделать без EXEC(). Спасибо!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не работает UPDATE после alter table - почему?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]