Как стать автором
Обновить

Комментарии 26

Большое спасибо за перевод!
А вот еще очень интересная статья о реализации пользовательских Sequence с использованием CLR для MSSQL 2005/2008:

www.gotdotnet.ru/blogs/decolores/1933/
.

Возможно кому-то будет интересно почитать.
Microsoft в своем стиле: спустя тыщу лет внедряет у себя возможности и функционал, которыми уже долгое время пользуются конкуренты.
Но молодцы. Вещь нужная. Хорошо что появилась.
НЛО прилетело и опубликовало эту надпись здесь
Из практики такой случай вспомнился. Есть три таблицы, в которых естественно хранятся разные сущности. Всех общих свойств у них это ID и NAME. Элементы из этих трех таблиц участвуют в построении иерархического дерева на интерфейсе. При редактировании, опи
Из практики такой случай вспомнился. Есть три таблицы, в которых естественно хранятся разные сущности. Всех общих свойств у них это ID и NAME. Элементы из этих трех таблиц участвуют в построении иерархического дерева на интерфейсе.
Чтобы сделать возможным редактирование и запись приходилось прибегать к ненужным ухищрениям и сложным вещам.
Было бы проще гораздо, если бы эти элементы имели разные ID уже в базе сразу после вставки. Очень бы помогло.
Ну нет необходимости в sequence для вашего случая. Можно решать это очень просто по-другому: а) guid, б) композитный ключ в) отдельная таблица с идентификаторами.

Да, sequence найдет себя в задачах для разработчиков, использующих MS SQL, как ее используют в конкурентах, но меня, как думаю и dmomen, жутко бесит, что злые тролли высказываются так, как будто очень важная функциональность не была реализована, и до этого нельзя было, вообще, использовать MS SQL ;)
да, согласен, guid бы спас, как самое простое. Но до этого как-то не сразу дошло и уже архитектура не позволила так быстро перескочить, а заказчик требовал уже результата.

жутко бесит, что злые тролли высказываются так, как будто очень важная функциональность не была реализована, и до этого нельзя было, вообще, использовать MS SQL ;)


Полностью поддерживаю. Честно сказать я над примером долго думал, чтобы такого вспомнить, что могло быть к месту. Проблема с новым функционалом такая, что не сразу и удумаешь куда его применить, так как старого бывало достаточно часто.
НЛО прилетело и опубликовало эту надпись здесь
Допустим нужен какой-то монотонно уменьшающийся счетчик. SEQUENCE — самое оно для такого
Не прошло и двадцати лет!
Вы не правы, прошло :)
SQL99 вроде. Впрочем не знаю когда оно появилось в других СУБД.
Реквестирую INSERT… RETURNING
Да, похоже оно, спасибо!
НЛО прилетело и опубликовало эту надпись здесь
В IB/FB оно вообще с самого рождения.
В принципе ASA очень продвинутый сервер в смысле синтаксиса… SYbase ee усиленно развивало и часто выпускала новые версии… Как будет с IBM не совсем понятно
Ранее для этого эффекта приходилось задавать отдельную табличку, где хранились глобальные ID сотрудников и писались хранимки, чтобы получать необходимые локальные ID относительно таблиц их содержащих.
Но тут, конечно, по серьезней будет функционал.
НЛО прилетело и опубликовало эту надпись здесь
И ведь не спешат убирать ограничения.
После Firebird или PL/SQL Sequence в MS SQL такая боль и непонимание.
На самом деле начиная с версии 2008 R2 + SP1 — SEQUENCE Так же есть
Как же я рад! Сначала версионность, теперь объекты, может потом как и DB2 реализуют PL/SQL! То-то будет радости :)
Я не знаю MS SQL, подскажите, плиз, как identity и sequence работают с булк вставками, какой порядок генерации в параллельных сессиях? В Оракле у сиквенсов есть параметр cache, коего не вижу здесь.
В определении Sequence последней строкой идет cache. Если вы об этом.

MS как правило использует все лучшее от всех остальных. Но с некоторым опозданием. =)
Сорри, проглядел :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации