我有一個選擇查詢在變量中聲明。現在我想檢查查詢是否返回0行,那麼我必須去處理其他條件。我正在使用SQL SERVER 2012.如何檢查包含0行的變量。請建議如何計算SQL Server中選定行的返回值?
set @sql = 'select tsf.StaffId,tsf.FullName,tsf.[Address],tsf.PhoneNo,tsf.Email,tsf.Gender,tsf.MobileNo1,tsf.MobileNo2, tsf.Post, tsf.Salary,ts.AdvanceSalary,ts.[Description],ts.[Month] from Tbl_Salary ts
JOIN Tbl_Staff tsf on ts.StaffId = tsf.StaffId'
If @CategoryId is not null
set @sql = @sql + ' where tsf.StaffId='''+cast(@CategoryId as varchar(10))+''''
If @MonthName is not null
set @sql = @sql +' and ts.Month='''+cast(@MonthName as varchar(50))+''''
If @Year is not null
set @sql = @sql +' and ts.Year='''+cast(@Year as varchar(50))+''''
exec(@sql)
變量絕對不包含任何行。這只是一個字符串。另一方面,它包含一大堆SQL注入漏洞 –