У меня есть оператор выбора, который имеет , где условие, сгенерированное на основе входящего параметра. `
DECLARE @ApplicationNumber int = 0;
DECLARE @AccountReferenceNumber int= 4820829;
DECLARE @SecurityNumber int = 1;
DECLARE @StreetAddress1 varchar(250)= '15 Prosper Court';
DECLARE @StreetAddress2 varchar(250) = NULL;
DECLARE @Suburb varchar(250)= 'wong';
DECLARE @State varchar(250) = NULL;
DECLARE @Postcode varchar(250) = '1245';
DECLARE @IsDeleted bit = 0;
DECLARE @IsClass bit = 1;
declare @BaseQuery nvarchar(max) = ' ';
IF @IsClass = 1
DECLARE @tableid INT = 0;
DECLARE @WhereClause VARCHAR(max) = '';
--SET @WhereClause = @AccountReferenceNumber ;
IF @StreetAddress1 IS NOT NULL
BEGIN
SET @WhereClause = @WhereClause + ' AND StreetAddress1 = '+ @StreetAddress1;
END
IF @StreetAddress2 IS NOT NULL
BEGIN
SET @WhereClause = @WhereClause
+ ' AND StreetAddress2 = ' + @StreetAddress2;
END
IF @Suburb IS NOT NULL
BEGIN
SET @WhereClause = @WhereClause + ' AND Suburb= ' + @Suburb;
END
IF @Postcode IS NOT NULL
BEGIN
SET @WhereClause = @WhereClause + ' AND Postcode= '+ @Postcode;
END
SET @BaseQuery = 'SELECT LoanSecurityId FROM LoanSecurity WHERE AccountReferenceNumber = @AccountReferenceNumber'
+ @WhereClause
EXEC sp_executesql @BaseQuery, N'@AccountReferenceNumber int', @AccountReferenceNumber
Я выполнил оператор, и появляются следующие ошибки
Неверный синтаксис рядом с 'Проспер' ..
Может кто-нибудь пролить свет на то, чего мне не хватает в следующем
После внесения предложения и внесенных изменений ниже приводится выбранный статус, доступный при выполнении
ВЫБЕРИТЕ LoanSecurityId ИЗ LoanSecurity WHERE AccountReferenceNumber = @AccountReferenceNumber AND StreetAddress1 = 15 Проспект Корт И Пригород = WODONGA AND Почтовый индекс = 1245
Строка, в которой предложение указано неверно