Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 IFn  [new]
Ifn
Guest
Имеется таблица
CREATE TABLE [dbo].[Sklad] (
	[id_Sklad] [int] NOT NULL 

Как в поле id_Sklad добавить Identity?

SQL2008
17 май 11, 14:45    [10664921]     Ответить | Цитировать Сообщить модератору
 Re: IFn  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Скорее всего, через пересоздание поля.
Возьмите студию, сделайте изменения и посмотрите, какой она генерит скрипт.
17 май 11, 14:46    [10664931]     Ответить | Цитировать Сообщить модератору
 Re: IFn  [new]
IFn
Guest
CREATE TABLE [dbo].[Sklad] (
	[id_Sklad] [int] IDENTITY (1, 1) NOT NULL ,

А для Alter какой синтаксис?
17 май 11, 14:50    [10664963]     Ответить | Цитировать Сообщить модератору
 Re: IFn  [new]
Ifn
Guest
Студии нет под рукой.
17 май 11, 14:51    [10664980]     Ответить | Цитировать Сообщить модератору
 Re: IFn  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
IFn
CREATE TABLE [dbo].[Sklad] (
	[id_Sklad] [int] IDENTITY (1, 1) NOT NULL ,

А для Alter какой синтаксис?
ALTER TABLE с IDENTITY не дружит
Сколько не просят Microsoft - а воз и ныне там...
17 май 11, 14:54    [10665005]     Ответить | Цитировать Сообщить модератору
 Re: IFn  [new]
Glory
Member

Откуда:
Сообщений: 104751
IFn
CREATE TABLE [dbo].[Sklad] (
	[id_Sklad] [int] IDENTITY (1, 1) NOT NULL ,

А для Alter какой синтаксис?

Никакого
17 май 11, 14:54    [10665006]     Ответить | Цитировать Сообщить модератору
 Re: IFn  [new]
Prolog
Member

Откуда: Москва
Сообщений: 2793
Сначада alter table ... drop column ..., потом alter table ... add ... .
17 май 11, 14:55    [10665023]     Ответить | Цитировать Сообщить модератору
 Re: IFn  [new]
Ifn
Guest
В 2000-м можно через Enterprise manager включить Identity одним щелчком мыши.
На 2008-й мне еще надо пробиться. Неужто так сложно все?
17 май 11, 14:57    [10665046]     Ответить | Цитировать Сообщить модератору
 Re: IFn  [new]
Glory
Member

Откуда:
Сообщений: 104751
Ifn
В 2000-м можно через Enterprise manager включить Identity одним щелчком мыши.
На 2008-й мне еще надо пробиться. Неужто так сложно все?

Отсутствие студии - это ваши сложности
17 май 11, 15:00    [10665069]     Ответить | Цитировать Сообщить модератору
 Re: IFn  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Ifn
В 2000-м можно через Enterprise manager включить Identity одним щелчком мыши.
На 2008-й мне еще надо пробиться. Неужто так сложно все?
Щелчок-то, конечно, один...
Но посмотрите на скрипт, который получается в результате!
Боюсь, для достаточно большой таблицы у Вас жизни не хватит.
17 май 11, 15:00    [10665073]     Ответить | Цитировать Сообщить модератору
 Re: IFn  [new]
SomewhereSomehow
Member

Откуда: Moscow
Сообщений: 2480
Блог
Ifn,

так щелчом вам же уже предложили. вас не устроило.
если вы посмотрите чуть глубже, то увидите что скрывается за этим "щелчком"
/* To prevent any potential data loss issues, you should review this script in detail before running it outside the context of the database designer.*/
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
CREATE TABLE dbo.Tmp_Sklad
	(
	id_Sklad int NOT NULL IDENTITY (1, 1)
	)  ON [PRIMARY]
GO
ALTER TABLE dbo.Tmp_Sklad SET (LOCK_ESCALATION = TABLE)
GO
SET IDENTITY_INSERT dbo.Tmp_Sklad ON
GO
IF EXISTS(SELECT * FROM dbo.Sklad)
	 EXEC('INSERT INTO dbo.Tmp_Sklad (id_Sklad)
		SELECT id_Sklad FROM dbo.Sklad WITH (HOLDLOCK TABLOCKX)')
GO
SET IDENTITY_INSERT dbo.Tmp_Sklad OFF
GO
DROP TABLE dbo.Sklad
GO
EXECUTE sp_rename N'dbo.Tmp_Sklad', N'Sklad', 'OBJECT' 
GO
COMMIT
это генерирует студия
17 май 11, 15:00    [10665075]     Ответить | Цитировать Сообщить модератору
 Re: IFn  [new]
Ifn
Guest
Пробился на Managment Studio.
При сохранении:
Сохранение изменений запрещено. Чтобы сохранить изменения, необходимо изменить удалить и повторно создать следующие таблицы. Либо изменения вносятся в таблицу, которую невозможно создать повторно, либо включен параметр «Запретить сохранение изменений, требующих повторного создания таблицы».
17 май 11, 15:26    [10665321]     Ответить | Цитировать Сообщить модератору
 Re: IFn  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Ifn
Пробился на Managment Studio.
При сохранении:
Сохранение изменений запрещено. Чтобы сохранить изменения, необходимо изменить удалить и повторно создать следующие таблицы. Либо изменения вносятся в таблицу, которую невозможно создать повторно, либо включен параметр «Запретить сохранение изменений, требующих повторного создания таблицы».
По-русски же написано даже.
17 май 11, 15:28    [10665342]     Ответить | Цитировать Сообщить модератору
 Re: IFn  [new]
Prolog
Member

Откуда: Москва
Сообщений: 2793
SomewhereSomehow
Ifn,

так щелчом вам же уже предложили. вас не устроило.
если вы посмотрите чуть глубже, то увидите что скрывается за этим "щелчком"
/* To prevent any potential data loss issues, you should review this script in detail before running it outside the context of the database designer.*/
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
CREATE TABLE dbo.Tmp_Sklad
	(
	id_Sklad int NOT NULL IDENTITY (1, 1)
	)  ON [PRIMARY]
GO
ALTER TABLE dbo.Tmp_Sklad SET (LOCK_ESCALATION = TABLE)
GO
SET IDENTITY_INSERT dbo.Tmp_Sklad ON
GO
IF EXISTS(SELECT * FROM dbo.Sklad)
	 EXEC('INSERT INTO dbo.Tmp_Sklad (id_Sklad)
		SELECT id_Sklad FROM dbo.Sklad WITH (HOLDLOCK TABLOCKX)')
GO
SET IDENTITY_INSERT dbo.Tmp_Sklad OFF
GO
DROP TABLE dbo.Sklad
GO
EXECUTE sp_rename N'dbo.Tmp_Sklad', N'Sklad', 'OBJECT' 
GO
COMMIT
это генерирует студия

Плюс при этом у таблицы Skad пропадут индексы, триггеры. Впрочем, если на таблицу есть ссылки по FK, то удаление и переименование не пройдут.
17 май 11, 15:32    [10665382]     Ответить | Цитировать Сообщить модератору
 Re: IFn  [new]
Ifn
Guest
Всем спасибо. Получилось. Стоял запрет на изменение.
Чужой сервер, впервые видел 2008-й.
17 май 11, 15:36    [10665409]     Ответить | Цитировать Сообщить модератору
 Re: IFn  [new]
SomewhereSomehow
Member

Откуда: Moscow
Сообщений: 2480
Блог
Prolog,

ниче не пропадет.
если они были изначально, студия включит в скрипт шаги по их воссозданию.
17 май 11, 15:40    [10665451]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить