Hey
I have written the following the stored procedure and executed it.But i am getting the following error. I don't know the reason for this.
set
ANSI_NULLS ONset
QUOTED_IDENTIFIER ONgo
Create
PROCEDURE [dbo].[GSU_Site_ReterieveActiveSitesOnSearch]@whereClause nvarchar(2000)
ASBEGIN
-- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements.
declare @sqlstr as varchar(max)
set
@sqlstr='SELECT Site.siteid as siteid,'set
@sqlstr=@sqlstr+ 'Site.Sitename as sitename, 'set
@sqlstr= @sqlstr+ 'Customer.customerid,'set
@sqlstr= @sqlstr+ 'Customer.customername as CustomerName,'set
@sqlstr= @sqlstr+ 'Site.City as City,'set
@sqlstr= @sqlstr+ 'site.Address as Address,'set
@sqlstr =@sqlstr+ 'Site.state , 'set
@sqlstr= @sqlstr+ 'Country.countryid as countryid,'set
@sqlstr= @sqlstr+ 'Country.countryname as country,Businessunit.businessunitid ,businessunit.businessunitname as BUName,'set
@sqlstr= @sqlstr+ 'SystemType.SystemTypeID,SystemType.SystemTypeName FROM Site INNER JOIN Country 'set
@sqlstr= @sqlstr+ 'ON Country.countryid = Site.countryid INNER JOIN Customer ON Customer.customerid=Site.customerid 'set
@sqlstr= @sqlstr+ 'INNER JOIN Businessunit ON Businessunit.businessunitID=Site.BusinessUnitID INNER JOIN SystemType ON 'set
@sqlstr= @sqlstr+ 'SystemType.SystemTypeID=Site.SystemTypeID INNER JOIN GSUStatus ON Site.GSUStatusID=GSUStatus.GSUStatusID 'set
@sqlstr= @sqlstr+@whereClause--
--set @sqlstr=@sqlstr+' WHERE GSUStatus.GSUStatusID=' +@GSUStatusID
--if @BusinessUnitID <> 0
--set @sqlstr=@sqlstr+'and site.BusinessUnitID ='+@BusinessUnitID
--if @CountryID <> 0
--set @sqlstr=@sqlstr+'and site.countryid='+@CountryID
--if @CustomerID <> 0
--set @sqlstr=@sqlstr+'and site.customerid='+@CustomerID
--if @SystemTypeID <> 0
--set @sqlstr=@sqlstr+'and site.SystemTypeID='+@SystemTypeID
--if @SiteName <> ''
--set @sqlstr=@sqlstr+'and site.Sitename like ' + @SiteName
--if @Address <> ''
--set @sqlstr=@sqlstr+'site.Address like '+ @Address
--if @City <> ''
--set @sqlstr=@sqlstr+'site.City like '+ @City
--if @State <> ''
--set @sqlstr=@sqlstr+'and site.state like '+ @State
exec
@sqlstr END
I executed the procedure by pasing parameters
Exec [GSU_Site_ReterieveActiveSitesOnSearch]
" where GSUStatus.GSUStatusID=1 and site.Sitename like 'lakshmisite' "
and getting the following error
- exc {"The name 'SELECT Site.siteid as siteid,Site.Sitename as sitename, Customer.customerid,Customer.customername as CustomerName,Site.City as City,site.Address as Address,Site.state , Country.countryid as countryid,Country.countryname as country,Businessunit.businessunitid ,businessunit.businessunitname as BUName,SystemType.SystemTypeID,SystemType.SystemTypeName FROM Site INNER JOIN Country ON Country.countryid = Site.countryid INNER JOIN Customer ON Customer.customerid=Site.customerid INNER JOIN Businessunit ON Businessunit.businessunitID=Site.BusinessUnitID INNER JOIN SystemType ON SystemType.SystemTypeID=Site.SystemTypeID INNER JOIN GSUStatus ON S' is not a valid identifier."} System.Exception {System.Data.SqlClient.SqlException}
Please let me know the problem in this.
Thanks
Kusuma