Моя первая табличная функция и курсор
У меня есть этот запрос:
SELECT name, lastname
FROM contestant
WHERE name= 'John' AND lastname = 'Smith'
Я получил несколько результатов из запроса выше, и мне нужно использовать их для следующего запроса:
SELECT name, lastname,prize, city
FROM draw
WHERE name= name from table contestant AND lastname= name from table contestant
Сейчас я'm построение табличной функции с курсором и WHILE, чтобы я мог иметь таблицу с результатами.
Вот's моя попытка, не могли бы вы помочь мне завершить это? это будет очень полезно для меня, чтобы понять эту главу TSQL. Спасибо!
CREATE FUNCTION [dbo].[myFunction]
(
@name varchar (44),
@lastname varchar (44)
)
RETURNS
@tmpTable TABLE
(
name char(44),
lastname char(44),
prize varchar(44),
city char(44)
)
AS
BEGIN
DECLARE
/* what do I have to input here */
DECLARE myCursor CURSOR FOR
SELECT name, lastname
FROM contestant
WHERE name= @name AND lastname = @lastname
OPEN myCursor
FETCH NEXT FROM myCursor INTO /* what goes here?*/
WHILE (@@FETCH_STATUS = 0)
BEGIN
-- and here?
FETCH NEXT FROM myCursor INTO /* what goes here?*/
END /*WHILE*/
CLOSE myCursor
DEALLOCATE myCursor
INSERT INTO @tmpTable (name, lastname,prize, city)
SELECT name, lastname,prize, city
FROM prize
WHERE name = @name AND lastname = @lastname
RETURN
END