的好处,如果我把东西EXEC在存储过程中会得到存储过程
DECLARE @Query VARCHAR(8000)
SET @Query = 'select * from subscriber
where sbs_userid = ' + cast(@UserID as varchar) + '
and SBS_Status in (select statusFlag from #tmpStatusFlag)
and SBS_SourceFlag in (select sourceFlag from #tmpSourceFlag)'
IF (@FirstName !='')
SET @Query = @Query + ' and SBS_FirstName like ''%' + @FirstName + '%'''
IF(@LastName !='')
SET @Query = @Query + ' and SBS_LastName like ''%' + @LastName + '%'''
IF(@Phone !='')
SET @Query = @Query + ' and SBS_WorkPhone like ''%' + @Phone + '%'''
IF(@EmaiAdderess !='')
SET @Query = @Query + ' and SBS_EmailAddress like ''%' + @EmaiAdderess + '%'''
IF(@City !='')
SET @Query = @Query + ' and SBS_City like ''%' + @City + '%'''
IF(@SubListId !='-1')
SET @Query = @Query + ' and SBS_SubListId like ''%' + @SubListId + '%'''
SET @Query = @Query + ' order by SBS_CreationDate desc'
EXEC (@Query)
在我的存储过程。
我的问题仍然是我得到的存储过程的好处,或者是一种错误的做法
我从来没有使用这一点,但我的团队负责人用它来加快存储proceure。可以吗?
EDITED
如果我们使用sp_executesql的的代替EXEC那么我们可以利用存储procedure.and的好处是这样确定这个?
这看起来很容易受到SQL注入攻击。 –