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

Я создал немного сложную хранимую процедуру на SQL Server 2008 R2, и этот SP также содержит некоторые пользовательские функции.Эти UDF и сам SP имеют циклы while внутри них.

Я бы хотел определить, сколько раз что-то было зациклено, когда я вызываю этот SP.

Любое изменение, которое я могу сделать?

1 Ответ

0 голосов
/ 01 ноября 2011

SQL Profiler не имеет никакого способа сделать это, насколько я знаю.Я бы создал временную таблицу (при условии, что вас интересует только количество итераций для одного соединения), чтобы увеличить переменную с одним счетчиком, а затем вы можете вывести значение, которое хранится в этой временной таблице в конце.цикла.

Что-то вроде:

create table #countTable
(
    id int not null,
    countvar int not null
)
go

insert into #countTable
select 1, 0
go

-- your stored proc call here
--   during your iterations at the end, call this:
update #countTable
set countvar = countvar + 1
where id = 1
go

-- ...your stored proc ends now you want the count
select countvar
from #countTable
where id = 1
go

Я сделал поле id на случай, если вам понадобится более одного "счетчика".

...