MSSQL, UPDATE Identity field , Не могу решить

v777
Дата: 13.09.2006 11:38:04
привет всем, я завис на одой проблеме в MSSQL, у меня 2 таблицы,
table1 и table 2.

table1: ImpOrg,table1_ID (ImpOrg - его значении не повторяютса)
table2: Project,table1_ID,table2_ID

В table1 записываю название оргинизации ImpOrg='organisation', его table1_ID='1'.
В table2 записываю название проекта Project='project', table1_ID='1',table1_ID='1',
table2_ID='34'.

При записи в table1, table1_ID значение дублируетса в Table2 и записываетса в table1_ID таблицы table2.

Задача следующая:

Оператор создал организацию под названием ImpOrg=ORGANISATION1,
дальше создал ORGANISATION2. Теперь допустим нада обьеденить ORGANISATION2 в ORGANISATION1, тоесть зделать его UPDATE и назвать его как ORGANISATION1.Все OK но кроме этого нада сделать UPDATE для table1_ID в обоих таблицах и назвать их как ID от ORGANISATION1. Но выводитса ошибка что не может делать UPDATE в table1_ID потому что его тип Identity.

table1_ID properties:
Identity - YES
Identity Seed - 1
IdentityIncrement -1


Вопрос: Как решить данную проблемму?



омним словом он уникальный
Гавриленко Сергей Алексеевич
Дата: 13.09.2006 11:41:37
Вообще-то апдейт надо делать в подчиненной. А из главной потом удалить.
Prolog
Дата: 13.09.2006 11:42:29
В table2 нужно заменить table1_ID на значение соответствующее ORGANISATION1.
В table1 нужно удалить строку соответствующую ORGANISATION2.
GreenSunrise
Дата: 13.09.2006 11:43:44
Если я правильно понимаю задачу, вам нужно

update table2 set table1_ID = <ID из table1, соответствующий объекту ORGANIZATION1> where table2_ID = ...

Ну и все, собственно. А из table1 ненужную запись (дубликат) можно удалить. А можно и не удалять, это как вам удобнее.