Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Поделитесь опытом работы с Uniqueidentifier [D6, MSSQL]


AndrewK ©   (2004-07-30 14:23:00) 

Доброго времени суток!

Поделитесь, пожалуйста, опытом работы с полями типа uniqueidentifier в MS SQL 2000. Как получить значение поля, которое только что сформировалось при вставке записей в таблицу (аналог @@identity). На что еще стоит обратить внимание при работе с полями данного типа.


ZrenBy   (2004-08-02 10:47:00) [1]

declare @UID uniqueidentifier set @UID = newid()

insert into Шапка (ID,Name) values (@UID,'Что-то')

insert into Тело(Шапка_ID, Name) values (@UID, 'Что-то еще 1...')


bushmen   (2004-08-02 10:08:00) [2]

Предлагаю совместно использовать и старое поле и новое, т.е. оставить ID как и было и по нему вставлять значения во вторую таблицу.


AndrewK   (2004-08-02 10:00:00) [3]

Попробую чуть более детально описать задачу:

Надо сделать документ состоящий из шапки и тела.

Шапка:

ID     uniqueidentifier
Name   varchar(100)


Тело:

ID        uniqueidentifier
Шапка_ID  uniqueidentifier
Name      varchar(100)


Надо выполнить операции:

1.

insert into Шапка (Name)
values ('Что-то')


2.
Получить сгенерированный ID

3.

insert into Тело(Шапка_ID, Name) values (Полученный ID, 'Что-то еще 1...')
insert into Тело(Шапка_ID, Name) values (Полученный ID, 'Что-то еще 2...')
insert into Тело(Шапка_ID, Name) values (Полученный ID, 'Что-то еще 3...')


Вопрос:
Как получить сгенерированный в шапке после записи ID?


AndrewK   (2004-07-30 15:24:00) [4]

В том то и дело, что нужна репликация. До этого Int c Identity замечательно работало.


bushmen   (2004-07-30 14:50:00) [5]

> На что еще стоит обратить внимание при работе с полями данного
> типа

Данный тип стоит применять, если у Вас планируется репликация между SQL-серверами. В других случаях, целесообразно использовать, например int с identity.


Наверх

Титульная страница Поиск, карта сайта Написать письмо