Nếu bạn chỉ muốn thực hiện một số thao tác cụ thể với SP thứ hai của mình và không yêu cầu các giá trị trở lại từ SP thì chỉ cần thực hiện:
Exec secondSPName @anyparams
Ngược lại, nếu bạn cần các giá trị được trả về bởi SP thứ hai bên trong SP đầu tiên, thì hãy tạo một biến bảng tạm thời với số cột bằng nhau và có cùng định nghĩa về cột trả về theo SP thứ hai. Sau đó, bạn có thể nhận các giá trị này trong SP đầu tiên như:
Insert into @tep_table
Exec secondSPName @anyparams
Cập nhật:
Để chuyển tham số cho sp thứ hai, hãy thực hiện như sau:
Declare @id ID_Column_datatype
Set @id=(Select id from table_1 Where yourconditions)
Exec secondSPName @id
Cập nhật 2:
Giả sử sp thứ hai của bạn trả về Id
và Name
nơi loại id
là int
và name
là của varchar(64)
loại.
Bây giờ, nếu bạn muốn chọn các giá trị này trong sp đầu tiên thì hãy tạo một bảng table
tạm thời biến và chèn các giá trị vào nó:
Declare @tep_table table
(
Id int,
Name varchar(64)
)
Insert into @tep_table
Exec secondSP
Select * From @tep_table
Điều này sẽ trả lại cho bạn các giá trị được trả về bởi SP thứ hai.
Hy vọng, điều này sẽ xóa tan mọi nghi ngờ của bạn.