У меня есть хранимая процедураSQL Server Cursor данные как результат хранимой процедуры
DECLARE cursor FOR SELECT [FooData] From [FooTable];
OPEN cursor ;
FETCH NEXT FROM cursor INTO @CurrFooData;
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @CurrFooData AS FooData;
INSERT INTO Bar (BarData) VALUES(@CurrFooData);
FETCH NEXT FROM cursor INTO @CurrFooData;
END;
CLOSE cursor
DEALLOCATE cursor
Но в результате у меня есть много таблиц, а не один. Как я могу вернуть одну таблицу с столбцом «FooData» и всеми строками «@CurrFooData»?
Это нормально для этого примера, но что, если список столбцов в инструкции выбора и вставки должен отличаться? –
Нравится: DECLARE курсор FOR SELECT [FooData1], [FooData2] Из [FooTable]; OPEN cursor; FETCH NEXT FROM курсор INTO @ CurrFooData1, @ CurrFooData2; WHILE @@ FETCH_STATUS = 0 BEGIN SELECT @ CurrFooData1 AS FooData1, @ CurrFooData2 AS FooData2; INSERT INTO Bar (BarData) VALUES (@ CurrFooData1); FETCH NEXT FROM курсор INTO @CurrFooData; END; CLOSE курсор DEALLOCATE курсор –
вопрос и ответ не имеют смысла: почему вы пытаетесь это сделать? – gbn