동적 저장 쿼리를 저장 프로 시저에 쓰고 있습니다. 내 저장 프로 시저에 매개 변수로 열 이름을 받고 있습니다.동적 SQL Server 쿼리
예를 들어, EmployeeId
및 EmployeeName
열을 가진 Employee
테이블이 있습니다. 테이블 Employee
테이블에서 Department
테이블에 데이터를 삽입하는 동안 각 직원 이름 앞에 EMP_
을 추가해야합니다.
비 동적 쿼리는 다음과 같습니다.
INSERT INTO Department(EmployeeId, EmployeeName)
SELECT
EmployeeId, 'EMP_' + EmployeeName
FROM
Employee
나는
SET @SqlCommand =
'INSERT INTO ' + @DepartmentTable + '(' + @EmployeeIdColumn + ',' + @EmployeeNameColumn + ')' +
'SELECT ' + @EmployeeIdColumn + ',''EMP_''' + @EmployeeNameColumn + '''' +
'FROM ' +
@EmployeeTable + ' WTB '
EXEC sp_executesql
@stmt = @SqlCommand
문제는 동적 삽입합니다 EmployeeName
열에 대해, 그것은 "EMP_EmployeeName"을 삽입되는 대신 실제 직원 이름을 작성하는 경우. EmployeeNameColumn
전후에 따옴표를 넣으려고했으나 작동하지 않았습니다. 어떻게 해결할 수 있습니까?
APPEND "EMP"을 각 직원의 이름 앞에. @EmployeeNameColumn은 저장된 proc이받는 열 이름입니다. – turbo88
이것은 답변이되지 않았지만,이 블로그 게시물을 읽으라고 강력히 권합니다. 나는 동적 인 SQL을하고있는 Im 언제든지 그것을 다시 참조한다. 그것은 안전한 (매개 변수화 된) 및 효율적인 http://www.sommarskog.se/dynamic_sql.html#good_practices 둘 다 동적 SQL을 달성하는 "모범 사례"방법에 대해 자세히 설명합니다. – bUKaneer
@ turbo88 안녕하세요! 제공된 솔루션 중 하나를 시도해 보셨습니까? – gofr1