Динамическая хранимая процедура Sql
у меня есть динамическая хранимая процедура для выбора из любой таблицы в любой базе данных с помощью
параметр имя базы данных и параметра список полей и параметров в условие WHERE .
при передаче параметра условия where по типу данных int никаких проблем не возникает но при передаче типа данных varchar возвращается ошибка
Что я уже пробовал:
хранимая процедура как поток :
alter PROCEDURE sp_selectFromTable @TableName [nvarchar](50), @FieldsName [nvarchar](500), @WhereCri [nvarchar](1000)=null AS DECLARE @SQL [nvarchar](1000) set @SQL='Select '+ @FieldsName+' from ' + @TableName + ' where ' + @WhereCri EXEC sp_executesql @SQL
когда пройдешь черту :
DECLARE @Where [nvarchar](50)='FirstName=' + 'Nancy' EXEC sp_selectFromTable 'northwind.dbo.employees','employeeid,FirstName,LastName',@Where
возвращать ошибку
Недопустимое имя столбца "Nancy".
но когда проходят :
DECLARE @Where [nvarchar](50)='EmployeeID=1' EXEC sp_selectFromTable 'northwind.dbo.employees','employeeid,FirstName,LastName',@Where
в результате появляются настоящие