Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 SELECT не отрабатывает в хранимой процедуре  [new]
avts2000
Member

Откуда:
Сообщений: 6
MS SQL 2000 SP4

CREATE  PROCEDURE _quality
@q1 int, @q2 int, @q3 int, @session numeric(12,0)
AS
BEGIN
SET NOCOUNT ON
DECLARE @oper_login varchar (20), @op_id int, @data_dialog_begin varchar(20)
SET @op_id=(SELECT operator_id FROM state WHERE session_id=@session and type=3)
SET @oper_login=(SELECT operator_login FROM operator WHERE operator_id=@op_id)
SET @data_dialog_begin=(SELECT convert(varchar,(SELECT start_datetime FROM state WHERE session_id=@session and type=3),120))
INSERT INTO _QOS_TABLE (session,operator,data,q1,q2,q3)
              VALUES (@session,@oper_login,@data_dialog_begin,@q1,@q2,@q3)
SET NOCOUNT OFF
END
GO


После выполнения процедуры значения переменных @session,@q1,@q2,@q3 передаются в процедуру и вставляются в таблицу _QOS_TABLE. А вот вместо значений переменных @oper_login,@data_dialog_begin записывается NULL. Если код процедуры выполнить в Query Analyzer то значения переменных @oper_login,@data_dialog_begin вставляются корректные.

Посдскажите, в чём может быть проблема?
20 апр 12, 09:38    [12443535]     Ответить | Цитировать Сообщить модератору
 Re: SELECT не отрабатывает в хранимой процедуре  [new]
denis2710
Member

Откуда: Москва
Сообщений: 3384
avts2000,а профайлер чего показывает?
автор
После выполнения процедуры значения переменных @session,@q1,@q2,@q3
Выполнения чего,процедуры?они объявлены как out ?
20 апр 12, 09:45    [12443577]     Ответить | Цитировать Сообщить модератору
 Re: SELECT не отрабатывает в хранимой процедуре  [new]
iljy
Member

Откуда:
Сообщений: 8711
avts2000,

А нафига тут вообще переменные? Ну и
avts2000

SET @data_dialog_begin=(SELECT convert(varchar,(SELECT start_datetime FROM state WHERE session_id=@session and type=3),120))


- это конечно шедевр программерской мысли.

А сколько в базе таблиц с именем state например?
20 апр 12, 10:05    [12443665]     Ответить | Цитировать Сообщить модератору
 Re: SELECT не отрабатывает в хранимой процедуре  [new]
avts2000
Member

Откуда:
Сообщений: 6
iljy,

С именем state одна таблица.

Вопрос: почему, если выполнить в Query Analyzer код процедуры, то возвращаются корректные значения переменных @oper_login и @data_dialog_begin, а вот если эта процедура вызывается во время работы сценария, то вместо значений @oper_login и @data_dialog_begin в таблицу вставляется NULL.
20 апр 12, 10:18    [12443707]     Ответить | Цитировать Сообщить модератору
 Re: SELECT не отрабатывает в хранимой процедуре  [new]
linke
Member

Откуда: Питер
Сообщений: 1402
avts2000,

Никто не знает какие Вы там параметры передаете, поэтому тут бесполезно что-либо обсуждать.

ЗЫ: переписать бы Вам эту кашу в человеческий вид.
20 апр 12, 10:32    [12443817]     Ответить | Цитировать Сообщить модератору
 Re: SELECT не отрабатывает в хранимой процедуре  [new]
denis2710
Member

Откуда: Москва
Сообщений: 3384
avts2000,ну логично предположить что криво передается @session.Профайлер в помощь.
20 апр 12, 10:33    [12443825]     Ответить | Цитировать Сообщить модератору
 Re: SELECT не отрабатывает в хранимой процедуре  [new]
iljy
Member

Откуда:
Сообщений: 8711
avts2000
iljy,

С именем state одна таблица.

Как вы это проверили?
20 апр 12, 10:46    [12443902]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить