Mssql insert into: SQL INSERT INTO Statement

Как вставить результат хранимой процедуры в таблицу

Иногда вам нужно сохранить результат хранимой процедуры в таблицу или временную таблицу вместо возврата вывода. Сохранение вывода хранимой процедуры в таблице дает вам больше возможностей, например, вы можете проверить вывод хранимой процедуры в любое время позже или вы можете соединить эту таблицу с другой таблицей и т. д.

Давайте продемонстрируем, как вставить вывод хранимой процедуры в таблицу.

Сначала мы создаем пример таблицы с именем StudentData и вставляем в нее несколько фиктивных записей.

 CREATE TABLE dbo.StudentData(ID INT IDENTITY(1,1), Name VARCHAR(100))

ВСТАВИТЬ В dbo.StudentData(Имя)
ЗНАЧЕНИЯ('Рохит Хатри'),
(«Суджой Гош»),
(«Манодж Сингх»),
(«Вимал Кумар»)
ИДТИ

ВЫБЕРИТЕ * ИЗ dbo.StudentData; 

Теперь мы создадим хранимую процедуру, которая возвращает все записи учащихся из StudentData 9Таблица 0009.

 СОЗДАТЬ ПРОЦЕДУРУ dbo. FetchStudentData
КАК
НАЧИНАТЬ
ВЫБЕРИТЕ * ИЗ dbo.StudentData;
КОНЕЦ
ИДТИ

EXEC dbo.FetchStudentData
GO 

Позволяет сохранить вывод вышеуказанной хранимой процедуры в таблицу.

Сначала мы создадим еще одну таблицу с именем StudentData_Log , которая будет использоваться для хранения вывода хранимой процедуры.

 CREATE TABLE dbo.StudentData_Log (ID INT, имя VARCHAR(100))

SELECT * FROM dbo.StudentData_Log; 

Как видите, сейчас в таблице нет данных.

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

 ВСТАВИТЬ В dbo.StudentData_Log
EXEC dbo.FetchStudentData
GO 

Давайте проверим таблицу StudentData_Log , и вы увидите, что выходные данные хранимой процедуры сохраняются в таблице. Таблица имеет то же количество записей, что и хранимая процедура.

 SELECT * FROM dbo.