Pokud chcete svým druhým SP provést pouze některé specifické operace a nepožadujete zpět hodnoty od SP, pak jednoduše udělejte:
Exec secondSPName @anyparams
Jinak, pokud potřebujete hodnoty vrácené vaším druhým SP ve vašem prvním SP, vytvořte dočasnou proměnnou tabulky se stejným počtem sloupců a se stejnou definicí vráceného sloupce druhým SP. Pak můžete získat tyto hodnoty v prvním SP jako:
Insert into @tep_table
Exec secondSPName @anyparams
Aktualizace:
Chcete-li předat parametr druhému sp, postupujte takto:
Declare @id ID_Column_datatype
Set @id=(Select id from table_1 Where yourconditions)
Exec secondSPName @id
Aktualizace 2:
Předpokládejme, že vaše druhé sp vrátí Id
a Name
kde typ id
je int
a name
je z varchar(64)
typ.
Nyní, pokud chcete vybrat tyto hodnoty v prvním sp, vytvořte dočasnou table
proměnnou a vložte do ní hodnoty:
Declare @tep_table table
(
Id int,
Name varchar(64)
)
Insert into @tep_table
Exec secondSP
Select * From @tep_table
To vám vrátí hodnoty vrácené druhým SP.
Doufám, že to odstraní všechny vaše pochybnosti.