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

Откуда:
Сообщений: 42
Добрый день.
Читал в интернете, что можно писать запросы типа
SELECT StoredProcedureName(Field1) FROM Table1

попробовал свою процедуру обернуть запросом, выдается ошибка
'SP_STAT_PROCESS_SHIFT' is not a recognized built-in function name.

код хранимой процедуры:
ALTER PROCEDURE [dbo].[SP_STAT_PROCESS_SHIFT]
  @GUID NVARCHAR(38)
AS
  DECLARE @Cnt INTEGER SET @Cnt = 0 -- how many records was added
  DECLARE @c INTEGER -- ^
  DECLARE @StartTime DATETIME Set @StartTime=GETDATE()
  
  EXEC SP_STAT_CLEAR_SHIFT_HIDE @GUID -- with out datalogs recording
 
  DECLARE @SP SYSNAME
  DECLARE ProcedureCursor CURSOR LOCAL FOR
  SELECT SYS_NAME FROM REF_STAT_SP
  WHERE STATE=0

  OPEN ProcedureCursor
  FETCH NEXT FROM ProcedureCursor INTO @SP
  WHILE @@FETCH_STATUS=0
  BEGIN
    IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N''+@SP+'') AND type in (N'P', N'PC'))
    BEGIN
      EXEC @c=@SP @GUID
      SET @Cnt=@Cnt+@c
    END
    FETCH NEXT FROM ProcedureCursor INTO @SP
  END
  CLOSE ProcedureCursor
  DEALLOCATE ProcedureCursor
 
  DECLARE @SERVICE_GUID NVARCHAR(38) SET @SERVICE_GUID='{' + CAST(NEWID() AS NVARCHAR(36)) + '}'
  DECLARE @JOB_GUID NVARCHAR(38) SET @JOB_GUID='{' + CAST(NEWID() AS NVARCHAR(36)) + '}'
  EXEC SP_STAT_ADDTODATALOG @StartTime, 'SP_STAT_PROCESS_SHIFT', @SERVICE_GUID, 'STAT_DATAGATHER_RK7', @JOB_GUID, '', '', NULL, 0, NULL, @GUID -- write to DATALOG

RETURN @Cnt;


Вызывать ее пробую вот так:
SELECT TOP 1 SP_STAT_PROCESS_SHIFT([GUIDSTRING]) FROM GLOBALSHIFTS


подскажите, что я делаю не так?
27 авг 13, 16:32    [14761750]     Ответить | Цитировать Сообщить модератору
 Re: Хранимая процедура в SELECT-запросе  [new]
Гость333
Member

Откуда:
Сообщений: 3683
bayazet
Читал в интернете, что можно писать запросы типа
SELECT StoredProcedureName(Field1) FROM Table1

Можно ссылку?

Если StoredProcedureName — это хранимая процедура, то нельзя.
27 авг 13, 16:35    [14761782]     Ответить | Цитировать Сообщить модератору
 Re: Хранимая процедура в SELECT-запросе  [new]
bayazet
Member

Откуда:
Сообщений: 42
Гость333, http://www.cyberforum.ru/sql-server/thread111861.html
27 авг 13, 16:37    [14761805]     Ответить | Цитировать Сообщить модератору
 Re: Хранимая процедура в SELECT-запросе  [new]
waszkiewicz
Member

Откуда:
Сообщений: 1090
bayazet, ибо в там функция
27 авг 13, 16:38    [14761813]     Ответить | Цитировать Сообщить модератору
 Re: Хранимая процедура в SELECT-запросе  [new]
CREATE FUNCTION
Guest
bayazet
Гость333, http://www.cyberforum.ru/sql-server/thread111861.html

а вас CREATE FUNCTION в коде не смутило?
27 авг 13, 16:38    [14761814]     Ответить | Цитировать Сообщить модератору
 Re: Хранимая процедура в SELECT-запросе  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
bayazet
Гость333, http://www.cyberforum.ru/sql-server/thread111861.html
"процедура" и "функция" - это ведь одно и то же, да?
27 авг 13, 16:40    [14761828]     Ответить | Цитировать Сообщить модератору
 Re: Хранимая процедура в SELECT-запросе  [new]
bayazet
Member

Откуда:
Сообщений: 42
facepalm позор моим сединам
пора задуматься об отпуске...
27 авг 13, 16:45    [14761889]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить