Udalenie svoystva IDENTITY
AntonGart
Дата: 11.12.2002 21:34:46
Znatoki, pomogite! Kak iz T-SQL udalit' svoystvo IDENTITY dlja opredelennogo stolbza?
Glory
Дата: 11.12.2002 22:44:31
Только через удаление этого столбца.
AntonGart
Дата: 12.12.2002 11:14:28
Mmm...da. Chto eshe mogu skazat'. Vopros ne v temu: Problema v tom, chto moy predshestvennik byl pochemu-tu uveren, chto v Oracle net svoystva podobnogo IDENTITY. A prilozhenie dolzhno rabotat' i pod MS SQL i pod Oracle. I on realizoval vse ruchkami. Oshibalsja li on?
Glory
Дата: 12.12.2002 12:37:11
Не совсем понятен вопрос.
Выбор - использовать IDENTITY или эмулировать его работу - зависит от нескольких вещей. От постановки задачи, например. Или от необходимости реализовать репликацию. Или от желания некоторой платформенной независимости.
Breakneck
Дата: 12.12.2002 19:53:38
Кустарный (но действенный) способ удаления IDENTITY с сохранением значений:
1. Добавляете новый столбец в таблицу.
2. Копируете в него значения столбца с IDENTITY.
3. Убиваете столбец с IDENTITY.
4. Создаете столбец с таким же именем, как был, но без свойства IDENTITY, запихиваете в него значения столбца, вами добавленного в шаге 2.
5. Грохаете созданный в шаге 2 столбец.
Очень примитивно, но действенно. :-)
Breakneck
Дата: 12.12.2002 20:10:37
Кстати, забыл сказать, что надо еще грохнуть и затем восстановить Foreign keys
AntonGart
Дата: 13.12.2002 19:39:37
To Glory:
Vot imenno i vopros: mogu li ja polozhitsja na proizvoditeley SQL-Serverov, chto oni tolkovo realisovali IDENTITY svoystvo? A naschet replikazii: est vrode chto-to tipa IDENTITY FOR REPLIKATION? Ili nuzhno objazatelno ispolzovat' UNIQUEIDENTIFIER ROWGUIDCOL NOT NULL DEFAULT NEWID()? I voobshe, a pochemu nelsja pri replikazii prosto sootvetsvujushim obrazom pomenjat' znachenija vseh FOREIGN KEY'S (v smysle server ih sam dolzhen pomenjat)? Vot takoy vot nabor ne sovsem umnyh voprosov.