나는 SQL 서버의 쿼리를 다음, 값의 일부는 이전 계산 된 변수에 저장되어 있습니다 :이
SET @Command = N'INSERT INTO Products (Id
,Region
,Name
,Category
,CreatedBy
,CreatedOn
,) SELECT ' + @Id + ',
Region,
''' + @ProductName + ''',
Category,
CreatedBy,
CreatedOn FROM ' + @ProductTable + '
WITH (NOLOCK) WHERE Id IS NOT NULL';
EXEC(@Command)
이 @ProductName의 값 경우를 제외하고 잘 실행 포함 따옴표 (예 : 짐의 제품)이 경우에 나는 다음과 같은 오류 얻을 :
이 같은 동적 쿼리에서 변수에 작은 따옴표를 처리하는 방법은 문자열 후 닫히지 않은 인용 부호를 거기 어디 선택한 값 중 하나가 삽입됩니다 (@Pr 이 경우 oductName)은 삽입을 위해 값을 검색해야하는 소스 테이블의 실제 컬럼 이름 대신 삽입되는 값입니까?
여기에 동적 SQL 일을 할 절대적으로 필요하다? – Augwa
어떤 데이터베이스를 사용하고 있습니까? – Utsav
@Utsav : SQL Server. 메인 포스트도 업데이트되었습니다. – Cranialsurge