Вниз
Скачать: CL | DM;

Аналог интербейсовского генератора в MS SQL 2000   Найти похожие ветки 

 
Ihor Osov'yak ©   (2003-01-21 00:00) [0]

Сабж, собственно... Если ли он в природе, и если нет - то как попроще симулироать...

Зы - если кто не знает, что такое генератор в ИБ - в первом приближении можно считать, что определенная разработчиком глобальная целочисельная переменная, сохраняющая значение при рестарте базы :-), и при каждом обращении к ней ее знаение инкриментируется/декриментируется на определенное число вне зависимости от контекста транзакций и последующего commit/rollback... Очень удобно для организации генерации действительно уникальных значений для какого-то id, номерации последовательных событий в системе и не только...


 
Ihor Osov'yak ©   (2003-01-21 11:46) [1]

Сорри за up, но все же ...


 
stone ©   (2003-01-21 12:15) [2]

Есть автоинкримент в свойствах поля называется IDENTITY


 
Ihor Osov'yak ©   (2003-01-21 12:38) [3]

2 stone © (21.01.03 12:15)
см http://www.sql.ru/forum/actualthread.aspx?bid=1&tid=20721

там этот вариант уже рассматривался. По поводу IDENTITY, цитата оттуда:

оно должно быть уникальным в разрезе нескольких таблиц. Пример. Система реестраций чего-то. Для каждого типа событий - своя таблица. Ключевым полем везде сурогатный целочисельный ID. Хотелось бы, чтобы эти ID во всех этих таблицах не повторялись и монотонно возрастали. Во первых, удобно для организации выборки последних событий, во вторых, я вижу "естественный" порядок реестрации событий. Реестрация системного времени на сервере для события само-собой, но это не выход, так как были случаи, когда умельцы-админы изменяли системное время либо по дури, либо с целью исказить порядок реестрации событий....

identity в силу "уникальности в разрезе нескольких таблиц" не идет. Я конечно понимаю, что можно сделать то, что в ER принято называть sub-category, но считайте, что в моем случае это недопустимо "по религиозным убеждениям". в самом деле это не так, но расказывать долго ....



Если подводить итог - народ все же советует отказатся от "религиозных убеждений" и делать все же тот sub-category (полноценный, или слегка облегченный)...





 
Fiend ©   (2003-01-21 13:29) [4]

самого по себе генератора как в ИБ нету, это точно!
Но как грится скока серверов, стока и отличий.
Можно например решить проблему триггером, который при добавлении данных будет вычислять какой уникальный идентификатор нужно присвоить к данной строке, он может быть и символьным и числовым.

Да и вообще наивно было бы ожидать, что сервера разных производителей, будут полностью одинаковы по "способностям". Иначе какой в них смысл?


 
Reindeer Moss Eater   (2003-01-21 13:35) [5]

Эмулировать генератор можно созданием таблицы из одного поля и хранимой процедуры



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
3-15446
cih
2003-01-17 11:02
2003.02.06
В ОнКалкФилдз кальк поле может зависить от предыдущей строки?


1-15702
Юный_программер
2003-01-27 14:40
2003.02.06
Как создать подобие планировщика? как запускать в определенное


6-15799
Stimo
2002-12-10 21:47
2003.02.06
TServerSocket TClientSocket отсутствуют в Delphi 7


1-15676
LazorenkoX
2003-01-27 12:10
2003.02.06
HTMLHELP


3-15432
Эдуард
2003-01-22 10:56
2003.02.06
Роль приложения в MS SQL и ADO




   Наверх