У меня возникли проблемы при написании динамического запроса SQL для подобного поиска.Я хочу получить помощь по моей проблеме. Пожалуйста, покажите мне дорожную карту для моего проекта.Я получил результат для ACode BCode CCode, но DCode не получил результат.ACode Bcode CCode может получить правильные результаты.DCode не может получить результат.Я хочу назначить DCode с помощью LIKE SEARCH << '% DCode%' >>.Пожалуйста помоги.Спасибо, кто интересуется моими заданиями:)
Create PROCEDURE [dbo].[BDSPag]
(
@Acode nvarchar(100)=null,
@BCode nvarchar(100)=null,
@CCode nvarchar(100)=null,
@DCode nvarchar(200)=null
)
AS
BEGIN
Declare @SQL nvarchar(max)
Declare @SqlParams nvarchar(max)
Set @SQL = 'Select ACode, BCode, CCode, DCode FROM tblCollection where 1=1'
if(@Acode is not null) -- gp Code
set @SQL= @SQL+' and CategoriesCode= @CC'
if(@BCode is not null)--B Code
set @SQL= @SQL+' and GItem= @GI'
if(@CCode is not null) --C Code
set @SQL= @SQL+' and CtdCode= @CtdC'
declare @Paran nvarchar(150)
set @Paran=' and DCode LIKE '''+ '%' + '@GN' + '%' + ''''
set @SQL= @SQL+ @Paran
Execute sp_executesql @SQL,
N'@CC nvarchar(100), @GI nvarchar(100), @CtdC nvarchar(100), @RecU nvarchar(100),@GIU nvarchar(100), @GN nvarchar(100) ',
@CC=@ACode, @GI=@BCode, @CtdC=@CCode ,@GN=@DCode
End