T-SQL Как запустить процедуру рекурсивно? - PullRequest
1 голос
/ 02 сентября 2010

в моей процедуре, я пытаюсь запустить себя рекурсивно, когда появляются некоторые условия

(я упростил код, просто чтобы узнать, как выполнить рекурсию)

Сначала я создал процедуру спрокомментировал тело BEGIN..END, а затем:

alter PROCEDURE [dbo].[insert_new_customer_task]
     @TaskTypeID decimal,
     @TaskName nvarchar(1000),
     @IDCsrUser decimal,
     @TaskStatusID decimal,
     @ActualDateParam datetime,
     @isNextDate bit
AS
BEGIN   
      [dbo].[insert_new_customer_task](@TaskTypeID,@TaskName,@IDCsrUser,@TaskStatusID,@ActualDateParam,1)
END
GO

, но внутри BEGIN..END я вижу ошибку. Неверный синтаксис рядом с 'dbo'. Так как ее решить?1010 *

Ответы [ 3 ]

3 голосов
/ 02 сентября 2010

Добавьте команду EXEC и удалите скобки вокруг параметров:

EXEC [dbo].[insert_new_customer_task]
     @TaskTypeID, @TaskName,@IDCsrUser,@TaskStatusID,@ActualDateParam,1
2 голосов
/ 02 сентября 2010

Я думаю, вам нужно EXEC и никаких скобок для параметров, т.е.

EXEC [dbo].[insert_new_customer_task] @TaskTypeID,@TaskName,
     @IDCsrUser,@TaskStatusID,@ActualDateParam,1
1 голос
/ 02 сентября 2010
alter PROCEDURE [dbo].[insert_new_customer_task](
     @TaskTypeID decimal,
     @TaskName nvarchar(1000),
     @IDCsrUser decimal,
     @TaskStatusID decimal,
     @ActualDateParam datetime,
     @isNextDate bit)
AS
BEGIN   
      EXEC [dbo].[insert_new_customer_task] @TaskTypeID,@TaskName,@IDCsrUser,@TaskStatusID,@ActualDateParam,1
END
GO

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

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