Ich habe eine Select-Abfrage in einer Variablen deklariert. Jetzt möchte ich überprüfen, ob die Abfrage 0 Zeilen zurückgibt, dann muss ich mit anderen Bedingungen gehen. Ich verwende SQL SERVER 2012. Wie überprüfe ich die Variable, wenn sie 0 Zeilen enthält. Mit freundlicher vorschlagenWie zähle ich die Rückgabe ausgewählter Zeilen in 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)
Die Variable enthält absolut keine Zeilen lesen. Es ist nur eine Zeichenfolge. Auf der anderen Seite enthält es eine * Menge * von SQL-Injection-Schwachstellen –