Процедура модификации с курсором в SQL Server - PullRequest
0 голосов
/ 29 октября 2019

Вот процедура с курсором:

CREATE PROCEDURE dbo.Task_cursor
    @task_cursor CURSOR VARYING OUTPUT
AS 
    SET @task_cursor = CURSOR FORWARD_ONLY STATIC FOR
        SELECT Name, Birth_Year
        FROM Lab6.Students;

    OPEN @task_cursor;

И функция

CREATE FUNCTION dbo.FunctionTask2 (@StudentID INT)
RETURNS INT
AS
   BEGIN
   DECLARE @ret INT;

   SELECT @ret = Faculty_ID + 10
   FROM Lab6.Students
   WHERE PK_Student_ID = @StudentID

   RETURN @ret

END;

Мне нужно изменить (ALTER) процедуру, чтобы в курсоре был столбец с переменными из функции

1 Ответ

0 голосов
/ 02 ноября 2019
ALTER PROCEDURE dbo.Task_cursor
    @task_cursor CURSOR VARYING OUTPUT
AS 
    SET @task_cursor = CURSOR FORWARD_ONLY STATIC FOR
        SELECT Name, Birth_Year, dbo.FunctionTask2(PK_Student_ID)
        FROM Students;

    OPEN @task_cursor;

Кстати, я согласен с двумя другими, что это не очень хороший дизайн, но я предполагаю, что у вас есть свои причины.

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