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

Откуда: Israel
Сообщений: 1001
Как это сделать через EM и ежу понятно.
Как это сделать скриптом на любой таблице(известно название столбца IDENTITY, но неизвестна структура таблицы).

Через временную таблицу поле IDENTITY меняет свою позицию.

Id INT,
Num INT IDENTITY(1,1)
.... другие поля

надо
Id INT,
Num INT
.... другие поля
19 авг 06, 23:00    [3028702]     Ответить | Цитировать Сообщить модератору
 Re: Как снять IDENTITY не меняя порядка столбцов?  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33976
Блог
EvAlex
Как это сделать через EM и ежу понятно.

см profiler
20 авг 06, 00:44    [3028763]     Ответить | Цитировать Сообщить модератору
 Re: Как снять IDENTITY не меняя порядка столбцов?  [new]
EvAlex
Member

Откуда: Israel
Сообщений: 1001
Критик
EvAlex
Как это сделать через EM и ежу понятно.

см profiler

Ещё раз - пересоздавать таблицу я не могу, как это делает EM я не могу - я не знаю её структуру и это не совсем реально в случае огромных таблиц.
20 авг 06, 01:45    [3028788]     Ответить | Цитировать Сообщить модератору
 Re: Как снять IDENTITY не меняя порядка столбцов?  [new]
Василий111
Guest
EvAlex
Ещё раз - пересоздавать таблицу я не могу, как это делает EM я не могу - я не знаю её структуру и это не совсем реально в случае огромных таблиц.

sp_MShelpcolumns
20 авг 06, 13:38    [3029116]     Ответить | Цитировать Сообщить модератору
 Re: Как снять IDENTITY не меняя порядка столбцов?  [new]
EvAlex
Member

Откуда: Israel
Сообщений: 1001
Василий111

sp_MShelpcolumns

И с каких пор sp_MShelpcolumns меняет столбцы?
22 авг 06, 14:57    [3038065]     Ответить | Цитировать Сообщить модератору
 Re: Как снять IDENTITY не меняя порядка столбцов?  [new]
Prolog
Member

Откуда: Москва
Сообщений: 2791
Так вам же сказали: посмотрите profiler'ом как это делает EM, используйте sp_MShelpcolumns и т.п., чтобы определить исходный порядок столбцов в таблице.
22 авг 06, 15:01    [3038096]     Ответить | Цитировать Сообщить модератору
 Re: Как снять IDENTITY не меняя порядка столбцов?  [new]
Br. Potemkin
Member

Откуда: Таганрог
Сообщений: 310
Я бы поступил следующим образом: делаешь в EM, но не сохраняешь. Потом правой кнопкой по таблице, Generate SQL Script. Получишь скрипт изменений.

code SQL for food
22 авг 06, 15:03    [3038114]     Ответить | Цитировать Сообщить модератору
 Re: Как снять IDENTITY не меняя порядка столбцов?  [new]
EvAlex
Member

Откуда: Israel
Сообщений: 1001
Br. Potemkin
Я бы поступил следующим образом: делаешь в EM, но не сохраняешь. Потом правой кнопкой по таблице, Generate SQL Script. Получишь скрипт изменений.

code SQL for food

Оххх... а прочитать первый пост?
22 авг 06, 15:05    [3038137]     Ответить | Цитировать Сообщить модератору
 Re: Как снять IDENTITY не меняя порядка столбцов?  [new]
Br. Potemkin
Member

Откуда: Таганрог
Сообщений: 310
Смотря для чего. Identity убирать...
Можно так:
Set indentity_insert [table] on/off

code SQL for food
22 авг 06, 15:09    [3038152]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Как снять IDENTITY не меняя порядка столбцов?  [new]
Владимир1971
Member

Откуда:
Сообщений: 2
if OBJECT_ID('tempbd..#T') is not null drop table #T
if OBJECT_ID('tempbd..#T2') is not null drop table #T2

create table #T(id int identity, a char)

insert into #T
select 'a' union all
select 'b'


select top 0 ID+0 as id1, * into #T2 from #T

alter table #T2 drop column id

exec tempdb..sp_rename '#T2.id1', 'id', 'COLUMN'

insert into #T2
select * from #T

select * from #T2


Только надо знать как называется поле Identity, но в принципе и это можно узнать через всякие системные view.
3 окт 13, 10:35    [14916590]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить