Wenn Sie nur einige bestimmte Operationen von Ihrem zweiten SP ausführen möchten und keine Werte vom SP zurückfordern möchten, tun Sie dies einfach:
Exec secondSPName @anyparams
Andernfalls, wenn Sie Werte benötigen, die von Ihrem zweiten SP innerhalb Ihres ersten zurückgegeben werden, erstellen Sie eine temporäre Tabellenvariable mit der gleichen Anzahl von Spalten und mit derselben Definition der Spaltenrückgabe durch den zweiten SP. Dann können Sie diese Werte im ersten SP erhalten als:
Insert into @tep_table
Exec secondSPName @anyparams
Aktualisierung:
Um einen Parameter an den zweiten SP zu übergeben, tun Sie dies:
Declare @id ID_Column_datatype
Set @id=(Select id from table_1 Where yourconditions)
Exec secondSPName @id
Aktualisierung 2:
Angenommen, Ihr zweites sp gibt Id
zurück und Name
wo Typ von id
ist int
und name
ist von varchar(64)
Typ.
Nun, wenn Sie diese Werte im ersten Schritt auswählen möchten, erstellen Sie eine temporäre table
Variable und fügen Sie Werte ein:
Declare @tep_table table
(
Id int,
Name varchar(64)
)
Insert into @tep_table
Exec secondSP
Select * From @tep_table
Dies gibt Ihnen die vom zweiten SP zurückgegebenen Werte zurück.
Hoffe, das beseitigt alle Ihre Zweifel.