с помощью хранимой процедуры найдите причину искажения результирующего набора - PullRequest
0 голосов
/ 06 апреля 2011

Я столкнулся с проблемой в хранимой процедуре SQL.У меня есть хранимая процедура, которая содержит динамический SQL-запрос, создание временных таблиц, вставка данных в эти временные таблицы.в моем локальном результаты этой хранимой процедуры отображается нормально.но в производственной среде упорядочен результат.у меня есть только разрешение на выбор для этого производства, поэтому я не могу запустить этот sp в производственной базе данных.может кто-нибудь предлагает какое-то решение.есть ли возможность запустить этот SP и просмотреть результат в sp продукции?спасибо

Ответы [ 3 ]

0 голосов
/ 06 апреля 2011

Боюсь, ваш вопрос не очень конкретный, но если вы полагаетесь на порядок результатов и не используете ORDER BY в запросе, который возвращает результаты (в вашем случае, скорее всего, последнее утверждение) тогда надо. Порядок результатов не гарантируется, если вы не используете ORDER BY.

Если вы уже, возможно, вы могли бы опубликовать соответствующие части вашего запроса.

0 голосов
/ 06 апреля 2011

Я могу думать о двух возможностях без головы:

1) Производственная и локальная среда настроены по-разному, особенно в отношении параметров сортировки базы данных tempdb (которая будет использоваться по умолчанию для временных таблиц, если вы не укажете иное в их операторе CREATE). Поэтому любой порядок символьных полей будет вести себя по-разному.

2) Вы вообще не выполняете какого-либо конкретного заказа, и в этом случае порядок «по умолчанию» диктуется многими вещами и вряд ли будет одинаковым между серверами.

0 голосов
/ 06 апреля 2011

Я бы проверил, что сортировка двух баз данных одинакова. Предполагая MS Sql Server, щелкните правой кнопкой мыши узел базы данных в Mgmt Studio и просмотрите Свойства. Сортировка будет выглядеть примерно так: SQL_Latin1_General_CP1_CI_AS.

Если они не совпадают, возможно, что «естественный» порядок сортировки будет другим, если вы не укажете явное предложение ORDER BY.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...