我有一個存儲過程,我不想修改。這是相當龐大和複雜的,我不想再添加任何混亂。MS SQL:在另一個查詢中使用存儲過程結果集?
所以我希望做的是對大的一個調用另一個存儲過程,並使用結果集進行進一步的選擇/連接等
我有一個存儲過程,我不想修改。這是相當龐大和複雜的,我不想再添加任何混亂。MS SQL:在另一個查詢中使用存儲過程結果集?
所以我希望做的是對大的一個調用另一個存儲過程,並使用結果集進行進一步的選擇/連接等
您可以將過程的結果集爲表。就像這樣:
create procedure test
as
begin
select 1
end
go
declare @t table
(
id int
)
insert into @t
exec test
select * from @t -- returns one row
您可以使用用戶定義的函數:
create function table_func
()
returns table
as
return
(
select top 10 *
from master..msreplication_options
)
然後,讓你的結果集
select * from table_func()
如果您仍需要調用此作爲存儲proc在其他地方,創建一個存儲過程,包裝用戶定義的功能:
create procedure test_proc
as
select * from test_func();
現在的問題是我得到一個嵌套的錯誤... – Nick 2010-10-29 17:57:05