Возможно, я неверно истолковал ваш вопрос, но похоже, что вы хотите выполнить хранимую процедуру и вставить результаты хранимой процедуры в основную таблицу.
Для этого вы можете сделать:
INSERT INTO dbo.YourMainTable
EXEC dbo.YourStoredProcedureName
EDIT:
Единственный способ сделать это - использовать курсор.
DECLARE @PrimaryKeyFieldInTable2 int
DECLARE spCur CURSOR LOCAL FOR
SELECT PrimaryKetCol From Table2
OPEN spCur
FETCH NEXT FROM spCur INTO @PrimaryKeyFieldInTable2
WHILE @@FETCH_STATUS = 0 BEGIN
INSERT INTO dbo.Table1
EXEC dbo.YourStoredProceudre @PrimaryKeyFieldInTable2
FETCH NEXT FROM spCur INTO @PrimaryKeyFieldInTable2
END
CLOSE spCur
DEALLOCATE spCur
Предполагается, что ваша хранимая процедура принимает один параметр для выбора каждой строки из таблицы 2.
Это не лучшее использование SQL Server, но если вам действительно нужно сделать это таким образом, я не могу придумать другого пути.