Гость
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASE 12.5.x можно ли убрать Identity / 9 сообщений из 9, страница 1 из 1
26.10.2010, 20:50
    #36921449
Kru
Kru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASE 12.5.x можно ли убрать Identity
Господа, подскажите пожалуйста, есть ли какая-нибудь возможность "снять" Identity со столбца.
Т.е. так чтобы столбец остался в таблице но уже без identity?

Что-нибудь окромя set identity insert on

Заранее большое спасибо
...
Рейтинг: 0 / 0
26.10.2010, 23:03
    #36921589
invariant
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASE 12.5.x можно ли убрать Identity
Kru,
С какой целью убрать identity? Просто превратить identity-поле в обычное?
Можно, рецепт описан у Вершура. Используется системный хак, процедура официально не поддерживается: надо сбросить бит 128 в syscolumns.status и бит 64 в sysobjects.sysstat2 для соответствующих записей.
Рекомендуется сначала потренироваться на кошках...
...
Рейтинг: 0 / 0
26.10.2010, 23:12
    #36921598
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASE 12.5.x можно ли убрать Identity
Код: plaintext
1.
2.
3.
4.
5.
6.
alter table t1 add column tmpId int not null
update table t1 set tmpId=id
alter table t1 drop constraint .... -- чего там есть на id (первичный ключ скорее всего?)
alter table t1 drop column id
alter table t1 add column id int not null
update table t1 set id=tmpId
alter table t1 drop column tmpId
И без всяких хаков.
...
Рейтинг: 0 / 0
26.10.2010, 23:19
    #36921609
invariant
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASE 12.5.x можно ли убрать Identity
White Owl,

А теперь давайте сделаем все это для таблицы в 10E8 записей? :-)
...
Рейтинг: 0 / 0
02.11.2010, 23:14
    #36935063
Kru
Kru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASE 12.5.x можно ли убрать Identity
Господа, спасибо за отклик.
Хаккерство, однозначно исключается.

Вариант со столбцами тоже не пройдёт, т.к. после пересоздания столбец будет добавлен в конец таблицы. В этом случае не будет работать bcp из существующего файла.

Кажется, что остаётся просто создать новую таблицу :-(

Но, может быть можно как-то пересоздать столбец и указать где его расположить :-)
...
Рейтинг: 0 / 0
03.11.2010, 00:11
    #36935111
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASE 12.5.x можно ли убрать Identity
> Но, может быть можно как-то пересоздать столбец и указать где его расположить :-)
рихтонуть syscolumns?
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
08.11.2010, 22:16
    #36943631
Kru
Kru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASE 12.5.x можно ли убрать Identity
Ex_Soft
> Но, может быть можно как-то пересоздать столбец и указать где его расположить :-)
рихтонуть syscolumns?
_________________
"Helo, word!" - 17 errors 56 warnings

Боюсь, что не пройдёт - т.к. это уже хаккерство...

Ладно, придётся просто пересоздать и перезалить таблицу :-(


Всем большое спасибо за отклик
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
17.01.2012, 18:04
    #37618695
fatumator
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASE 12.5.x можно ли убрать Identity
1. Выливаем табличко в файл с помощью bcp -n -E
2. Генерим DDL таблицы, drop table
3. Создаем табличко без свойства identity
4. Заливаем табличко с помощью bcp -n

всё
...
Рейтинг: 0 / 0
17.01.2012, 18:05
    #37618698
fatumator
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASE 12.5.x можно ли убрать Identity
invariantWhite Owl,

А теперь давайте сделаем все это для таблицы в 10E8 записей? :-)

bcp -b <размер пачки>, где <размер пачки> подбираем в зависимости от размера logsegment.
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASE 12.5.x можно ли убрать Identity / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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