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

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

Аналог ф-ции NewID() [D5, MSSQL]


MakNik ©   (2004-09-27 10:03:00) 

Подскажите, плз., как в MSSQL реализовать аналог ф-ции NewID() для типа bigint и int?


sniknik   (2004-09-27 13:20:00) [1]

> как подобное сделать для типа bigint?
типа такого никак. случайное значение можно но есть вероятность "пересечения" с уже сушествующими значениями, преобразование гуида к бигинту тоже можно с тем же "маленьким" недостатком. (потерей уникальности в любой "реинкарнации", как у гуида) за счет урезания половины значащих байт.

автоинкремент реальная замена (по уникальности), но делается по другому. ;о) в таблице при создании надо указать.


MakNik   (2004-09-27 13:14:00) [2]


> Johnmen ©   (27.09.04 10:10) [1]

NewID() - Creates a unique value of type uniqueidentifier.

DECLARE @myid uniqueidentifier
SET @myid = NEWID()
...
INSERT Tab1 (ID) VALUES (@myid)
...


как подобное сделать для типа bigint?

DECLARE @myid bigint
SET @myid = ???
...
INSERT Tab1 (ID) VALUES (@myid)
...


Anatoly Podgoretsky   (2004-09-27 12:16:00) [3]

IDENTITY


Johnmen   (2004-09-27 10:10:00) [4]

Что за ф-ия ? Откуда ?

PS Автоинкриментное поле.


Наверх

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