![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поделитесь опытом работы с 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.