Query analyzer -- Вывод сообщений при исполнении SP

Vasily
Дата: 03.10.2000 06:45:29
Когда выполняется хранимая процедура в Query Analyzer и возвращает какой-то набор записей, но предварительно проделав некоторые действия типа вставки, удаления обновления данных, но сначала выводятся сообщения об этих действиях (наподобие "2 row(s) affected", а затем требуемый набор.
Возможно ли избежать вывода на экран этих надписей. Ведь многие системные хнанимые процедуры тоже делают кучу работы, до получения результата, однако у них ничего лишнего не выводится.
SergSuper
Дата: 03.10.2000 07:43:44
set nocount on/off соответсвенно включает/выключает эти сообщения.
Это можно написать в процедуре.

Но вообще они в Query Analyzer-е не должны мешать.
Vasily
Дата: 03.10.2000 10:09:11
ОК. Работает.

А тогда еще в догонку, возможно ли не выводить и сами результаты промежуточных запросов select внутри хранимой процедуры, и возвращать только последний?
SergSuper
Дата: 03.10.2000 10:55:38
Нельзя. Во всяком случае я не знаю.

Может просто не писать лишних селектов(наверняка они для отладки?) или делать их по условию, что какой-то параметр будет чему-то равен?
cornett
Дата: 04.10.2000 03:36:06
а зачем вообще промежуточные селекты, если их результаты не нужны?
обычно делают выборки во временные таблицы, для последующей обработки их
и вывода результирующей выборки.
AnatolyS
Дата: 04.10.2000 07:51:55
set nocount on/off подойдет и для выключения/включения промежуточных резуьтатов выборок.
Особенно это удобно при использовании ADO в хр. процедуре nocount on:
dim rs as ADODB.Recordset
dim rs1 as ADODB.Recordset
dim cmd as ADODB.Command
' затем инициализируешь cmd информацией о хр. процедуре
rs.Open cmd
' получаешь последний результат
set rs1=rs.NextRecordset ' следующий с конца (промежуточный) результат

таким образом можно в одной процедуре сосредоточить несколько полезных выборок.