Действительно ВЫБИРАЕТ ОТЛИЧНЫЙ, подразумевают своего рода результаты

Большое спасибо за вашу помощь! С некоторыми дополнительными исследованиями я нашел следующую статью, на которую я смог сослаться и создать решение для своих нужд. Хотя мой процесс не требует неудачной попытки повторной попытки, я установил принудительную неудачу процесса после 3 попыток.

http://microsoft-ssis.blogspot.com/2014/06/retry-task-on-failure.html

С благодарностью от всего наилучшего

8
задан S Ennis 27 March 2009 в 21:39
поделиться

9 ответов

От спецификации SQL92:

Если ОТЛИЧНЫЙ указан, то TXA, которым позволяют, являются результатом устранения избыточных дублирующихся значений от TX. Иначе позвольте TXA быть TX.

...

4) Если не указал, то упорядочивание строк Q является зависящим от реализации.

В конечном счете реальным ответом является настолько ОТЛИЧНЫЙ и ORDER BY, две отдельных части SQL-оператора; Если у Вас не будет пункта ORDER BY, то результаты по определению не будут конкретно заказаны.

6
ответ дан 5 December 2019 в 10:44
поделиться

Нет. Существует много обстоятельств, при которых ОТЛИЧНОЕ в Oracle не подразумевает вид, самым важным из которых является алгоритм хеширования, используемый в 10 г + и для группы и для отличных операций.

Всегда указывайте ORDER BY, если Вы хотите заказанный набор результатов, даже в 9i и ниже.

5
ответ дан 5 December 2019 в 10:44
поделиться

Нет, это не подразумевает вид. По моему опыту, это сортирует по известному индексу, который, может оказаться, нечто.

Почему быть тонким? Почему не определенное Избранное Отличное нечто от Порядка Панели нечто?

1
ответ дан 5 December 2019 в 10:44
поделиться

Не к моему знанию, нет. Единственная причина, о которой я могу думать, состоит в том, что SQL Server внутренне отсортировал бы данные, чтобы обнаружить и отфильтровать дубликаты и таким образом возвращает его "предварительно отсортированным" способом. Но я не полагался бы на тот "побочный эффект" :-)

1
ответ дан 5 December 2019 в 10:44
поделиться

Нет никакой "авторитетной" ссылки ответа, так как это - что-то, что не гарантирует никакой SQL-сервер.

Вы будете часто видеть результаты в порядке при использовании отличный в качестве побочного эффекта лучших методов нахождения тех результатов. Однако любое количество других вещей может перепутать результаты, и некоторый сервер может возвратить результаты таким способом как относительно не, дают им отсортированный, даже если это должно было отсортировать для получения результатов.

Нижняя строка: если Ваш сервер не гарантирует что-то, что Вы не должны рассчитывать на него.

3
ответ дан 5 December 2019 в 10:44
поделиться

По крайней мере на одном сервере я использовал (вероятно, или Oracle Server или SQL Server, приблизительно шесть лет назад), ОТЛИЧНЫЙ ВЫБОР был отклонен, если у Вас не было пункта ORDER BY. Это было принято на "другом" сервере (Oracle Server или SQL Server). Ваш пробег может варьироваться.

0
ответ дан 5 December 2019 в 10:44
поделиться

Нет, результаты не отсортированы. Если Вы хотите дать ему 'подсказку', можно, конечно, предоставить ORDER BY:

выберите отличное нечто из порядка панели нечто

Но имейте в виду, что Вы могли бы хотеть отсортировать на больше, чем просто в алфавитном порядке. Вместо этого Вы могли бы хотеть отсортировать на критериях на других полях. См.:

http://weblogs.sqlteam.com/jeffs/archive/2007/12/13/select-distinct-order-by-error.aspx

0
ответ дан 5 December 2019 в 10:44
поделиться

Как в ответах главным образом говорится, ОТЛИЧНЫЙ не передает под мандат вид - только мандаты ORDER BY это. Однако один стандартный способ достигнуть ОТЛИЧНЫХ результатов состоит в том, чтобы отсортировать; другой должен хешировать значения (который имеет тенденцию приводить к полуслучайному упорядочиванию). Доверие эффекту вида ОТЛИЧНЫХ было бы глупо.

0
ответ дан 5 December 2019 в 10:44
поделиться

Да. Oracle действительно использует вид, действительно вычисляют отличное. Вы видите это, если Вы смотрите на объяснить план. То, что это сделало вид для того вычисления, ни в коем случае не подразумевает, что набор результатов будет отсортирован. Если Вы хотите отсортированный набор результатов, Вы обязаны использовать пункт ORDER BY.

-1
ответ дан 5 December 2019 в 10:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: