我有一個存儲過程調用2其他存儲過程來獲取一些值。如何防止SQL Server返回3組結果?
ALTER PROCEDURE [dbo].[Delivery_SelectByJobID]
(
@job_ID int
)
as
-- if possible - if count(pods) > 0 return true
-- and if count(photos) > 0 return true
declare @podCount int = 0;
declare @photoCount int = 0;
EXEC @podCount=countPodsForJob @job_ID
EXEC @photoCount =countPhotosForJob @job_ID
declare @podsBit bit=0
declare @photosBit bit=0
if @podCount > 0
begin
set @podsBit = 1
end
if @photoCount > 0
begin
set @photosBit = 1
end
SELECT Job_Reference_No, Job_Start_Date, Job_POD_Filename, Job_Photo_Filename,
Job_Signed_For_Name, Job_ID, Job_Status, Job_Delivery_Notes, @podsBit as Job_POD_Supplied,
@photosBit as Job_Photo_Supplied
FROM Jobs
WHERE (Job_ID = @Job_ID) AND (Job_Status <> 7)
當運行此它返回3組結果,即Count_pods,Count_Photos,和所述選擇的結果。 我只想返回選擇的結果。 如何停止正在返回的其他結果?
這沒有什麼區別。 –
在這個存儲過程的定義將只有一個結果集您需要檢查嵌套存儲過程的定義確保您使用OUTPUT參數,這將存儲在它們返回的值傳遞給存儲過程的參數,我也看不到任何out關鍵字與您傳遞給嵌套過程的參數。 –