Meine erste Tabelle bewertet Funktion und Cursor
Ich habe diese Frage:
SELECT name, lastname
FROM contestant
WHERE name= 'John' AND lastname = 'Smith'
Ich erhalte mehrere Ergebnisse aus der obigen Abfrage und muss sie für die folgende Abfrage verwenden:
SELECT name, lastname,prize, city
FROM draw
WHERE name= name from table contestant AND lastname= name from table contestant
Jetzt erstelle ich eine Tabellenwertfunktion mit einem Cursor und einem WHILE, damit ich eine Tabelle mit den Ergebnissen haben kann.
Hier ist mein Versuch, können Sie mir bitte helfen, ihn zu vervollständigen? Es wird mir sehr hilfreich sein, dieses TSQL-Kapitel zu verstehen. Vielen Dank!
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