Вот сейчас правильно 🙂 Насчет практического смысла. У меня такой задачи не возникало, но она с завидной регулярностью появляется на sql.ru. Вот я и решил, что это интересная задача. В любом случае ты хорошо время провел, решая ее, разве нет? 🙂 Мне рассказывали случай в нашем городе. У них был оракл. Там у сиквенса задается ограничение к примеру 9999999999 И вот они стали пожходить к пределу. Пришлось искать эти самые интервалы и менять процедуры удаления и вставки. Ввести промежуточную таблицу для удаленных номеров, а при вставке сначала брать из нее. В общем тут ты прав, если б заранее продумали, то и не возникло бы.Но вот другой чел спрашивал то же самое. У них там прибор какой-то который чето там регистрирует, и результаты заносятся в базу. И утром они проверяют эти самые интервалы в показаниях. Да и еще много всяких преименений встречал. Мое решение 🙂 Я его накатал минут за 10 перед тем как запостить сюда, поэтому хуже твоего, признаю. Думаю еще через некоторое время пришел бы к такому же:)select * from(select a.i i1,(select min(i) from @t b where b.i>a.i) i2from @t awhere not exists(select 1 from @t c where c.i=a.i+1)) a where i2 is not nullМне еще буквально чуток не хватило терпения подумать 🙂 Решение тех, кто действительно ее решал смотри на sql.ru там поиск по “интервлы”. Море.
Copyright ©