I am trying to use a different sql string for my cursor depending on some input parameters. I get a compile error on placing the string after the cursor. Here are my strings.
declare @sql varchar(2000)
set @sql = 'Select employeeID, ' +
'(empLastName + '' '' + empFirstName) as empName ' +
'from Employee '
if @employeeIN > 0 begin
set @sql = 'Select employeeID, ' +
'(empLastName + '' '' + empFirstName) as empName ' +
'from Employee WHERE employeeID = @employeeIN '
end
if @supervisor = 1 begin
set @sql = 'SELECT employeeID, ' +
'(Employee.empLastName + '' '' + Employee.empFirstName) as empName ' +
'From Employee where Employee.employeeID IN ' +
'(Select caseManagerEmpID From EmployeeSupervisors ' +
'inner join Employee ON employeeID = supervisorEmpID ' +
'WHERE (empLoginName = suser_sname()) ) ' +
'ORDER BY empName '
end
DECLARE employee_cursor CURSOR FOR
EXEC (@sql)
Can anybody tell me the correct syntax??
Thank you
declare @sql varchar(2000)
set @sql = 'Select employeeID, ' +
'(empLastName + '' '' + empFirstName) as empName ' +
'from Employee '
if @employeeIN > 0 begin
set @sql = 'Select employeeID, ' +
'(empLastName + '' '' + empFirstName) as empName ' +
'from Employee WHERE employeeID = @employeeIN '
end
if @supervisor = 1 begin
set @sql = 'SELECT employeeID, ' +
'(Employee.empLastName + '' '' + Employee.empFirstName) as empName ' +
'From Employee where Employee.employeeID IN ' +
'(Select caseManagerEmpID From EmployeeSupervisors ' +
'inner join Employee ON employeeID = supervisorEmpID ' +
'WHERE (empLoginName = suser_sname()) ) ' +
'ORDER BY empName '
end
DECLARE employee_cursor CURSOR FOR
EXEC (@sql)
Can anybody tell me the correct syntax??
Thank you